当前位置:   article > 正文

简单的python有趣小程序,python编写有趣的代码_python数学小程序

python数学小程序

这篇文章主要介绍了python简单有趣的程序源代码,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Source code download: 本文相关源码

1、水仙花数

水仙花数的特点:如果一个三位数等于其各位数字的立方和,则称这个数为水仙花数。

def daffodilNumber(inputNum):

for num in range(100, inputNum):

unit = num % 10

ten = num // 10 % 10

hundred = num // 100

if unit ** 3 + ten ** 3 + hundred ** 3 == num:

print(num)

通过计算得出 100 到 1000 有 4 个数是水仙花数

2、九九乘法表

九九乘法表是小学同学必须背熟的口诀表,那用 Python 怎么实现呢?

# 九九乘法表

def table_9x9():

for row in range(1, 10):

for col in range(1, row + 1):

print('{} * {} = {}'.format(col, row, col * row), end='\t')

print()

输出结果

3、鸡兔同笼

鸡兔同笼是我国古代著名的趣味数学题之一,大约在 1500 年前,《孙子算经》中就记载了这个有趣的数学题,书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足, 问雉兔各几何?”

意思就是有若干只鸡和兔子在同一个笼子里,从上面数,鸡和兔的头有 35 个,从下面数,鸡和兔的脚有 94 只,问鸡和兔各有多少只?

先理清思路

鸡的只数 = (鸡兔总数 × 4 - 鸡和兔子的脚数 )/ 2

兔子只数 = 鸡兔总数 - 鸡的只数

具体实现如下

# 鸡兔同笼

def chickenOrRabbit(totalNum, footNum):

try:

# 鸡的数量

x = (4 * totalNum - footNum) / 2

if totalNum != 0 and (4 * totalNum - footNum) % (x * 2) == 0:

# 兔子的数量

y = totalNum - x

if x <= 0 or y <= 0:

print("{} 只动物 {} 条腿的情况无解".format(totalNum, footNum))

else:

print("鸡有 {} 只,兔有 {} 只".format(int(x), int(y)))

else:

print("{} 只动物 {} 条腿的情况无解".format(totalNum, footNum))

except Exception:

print("{} 只动物 {} 条腿的情况无解".format(totalNum, footNum))

35 个头,94 只脚运行结果

以下鸡或兔子当中有单脚鸡或缺腿兔的那种情况

4、求平均成绩

三行代码实现去除最高分和最低分求平均成绩

实现代码如下

def averageScore(scores):

print('没有去除最高分和最低分的成绩:', scores)

print('最高分:', max(scores))

print('最低分:', min(scores))

print('前三名的成绩:', heapq.nlargest(3, scores))

print('加双引号的前三名成绩:', heapq.nsmallest(3, scores))

print('平均分:', round(sum(scores) / len(scores), 2))

print('-----------------------------------------------------------------')

scores.sort()

first, *middle, last = scores

print('去除最高分和最低分后的成绩:', middle)

print('去除最高分和最低分之后的平均分:', round(sum(middle) / len(middle), 2))

sort 函数实现对成绩从低到高排序,排序完成后通过 “*表达式”去除第一个和最后一个,这样,最高分和最低分就被去除了python画皮卡丘

max 求最高分

min 求最低分

round 四舍五入函数

round(sum(middle) / len(middle), 2) 求平均数并保留2位小数

heapq.nlargest(3, scores) 前三名

heapq.nsmallest(3, scores) 后三名

运行结果如下

5、猴子吃桃

猴子吃桃问题:“猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 5 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。”

猴子知道自己摘了多少桃子呢?

用 一段 Python 代码帮它算一算

# 猴子吃桃

def monkeyEatingPeach():

# 设 x 为桃子个数

x = 1

for i in range(5, 0, -1):

print('第%d天的桃子数为%d个' % (i, x))

x = 2 * (x + 1)

猴子到底摘了多少桃子呢?

计算得出,猴子第一天摘了46个桃子。

封面图:PixabayLicense

文章知识点与官方知识档案匹配,可进一步学习相关知识
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/448468
推荐阅读
相关标签
  

闽ICP备14008679号