⾃学Python:求解马克思的数学问题
马克思⼿稿中有⼀道趣味数学问题:有30个⼈,其中有男⼈、⼥⼈和⼩孩,他们在同⼀家饭馆吃饭,总共花了50先令。已知每个男⼈吃饭需要花3先令,每个⼥⼈吃饭需要花2先令,每个⼩孩吃饭需要花1先令,请编程求出男⼈、⼥⼈和⼩孩各有⼏⼈。
问题可以⽤下⾯的⽅程式代替,男⼈X,⼥⼈Y,⼩孩Z。
X+Y+Z=30
3X+2Y+Z=50no input file specified
下⾯直接上代码:
>>>>####
if __name__=="__main__":
# 变量x、y和z分别代表男⼈、⼥⼈和⼩孩
print(" 男⼈ ⼥⼈ ⼩孩 ")
十进制数 52number = 0 # 可能的值的组数
# 将变量x的可能取值依次代⼊⽅程组
for x in range(0, 10+1):
y = 20 - 2*x # ⽅程③,当x⼀定时,可确定y值
# ⽅程①,当x、y⼀定时,可确定z值
z = 30 -x-y
c语言视频教程软件# 代⼊⽅程②检验,当前获得的x、y、z是否为不定⽅程组的⼀组解
if 3*x + 2*y + z == 50:
number += 1
print("%2d:%4d%5d%6d" % (number, x,y, z))
>>>>####
执⾏结果如下:
男⼈ ⼥⼈ ⼩孩
1: 0 20 10
2: 1 18 11
3: 2 16 12
儿童python入门教程4: 3 14 13
5: 4 12 14
6: 5 10 15
7: 6 8 16
8: 7 6 17
9: 8 4 18
10: 9 2 19
11: 10 0 20
共有11种结果,你猜对了⼏种?
当然你也可以⽤下⾯这种FOR循环的⽅法:
watchmygfriendskettlerfor x in range(30):
for y in range(30):
for z in range(30):
if x+y+z==30 and 3*x+2*y+z==50: print(x,y,z)
执⾏结果⼀样。
________________END______________
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
中小学生计算机编程教育课程设计方案
« 上一篇
基于Python的儿童书籍数据爬取研究与应用
下一篇 »
发表评论