Python|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))

  • 运行结果

Python|Python 实现百钱买百鸡问题(试使用列表推导式解决该问题)
文章图片


【Python|Python 实现百钱买百鸡问题(试使用列表推导式解决该问题)】

    推荐阅读