Python编程代码实现百钱买百鸡问题的for循环解法
这篇文章主要介绍了百钱买百鸡python编程用什么方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
问题描述
百钱买百鸡:1只公鸡5块钱,1只母鸡3块钱,3只小鸡1块钱,现在要用100块钱买100只鸡,问公鸡、母鸡、小鸡各多少只?
代码实现
方法一(使用列表推导式解决该问题)
rresult=[print("公鸡:",i,"母鸡:",j,"小鸡:",k) for i in range(0,101) for j in range(0,101) for k in range(101) if i*5 + j *3 + k / 3 == 100 and i+j+k==100]
方法二(使用条件循环语句解决该问题)
for i in range(0,101):
for j in range(0,101):
for k in range(0,101):
if (i*5 + j *3 + k / 3 == 100 and i+j+k==100):
print("公鸡:",i,"母鸡:",j,"小鸡:",k)
优化方法
方法一(使用列表推导式解决该问题)
result=[print("公鸡:",i,"母鸡:",j,"小鸡:",(100-i-j)) for i in range(21) for j in range(34) if 5*i+3*j+(100-i-j)/3==100]
方法二(使用条件循环语句解决该问题)
for i in range(21):#将循环遍历的范围缩减可有效提高运算速度
for j in range(34):
if i*5+j*3+(100-i-j)/3==100:
print("公鸡:",i,"母鸡:",j,"小鸡:",(100-i-j))