- 问题描述
- 代码实现
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编写程序,解决“百钱百鸡”问题【简单易懂,程序可以直接运行】
- Django,Flask和Redis教程(Python框架之间的Web应用程序会话管理)
- 人工智能|31个Python实战项目教你掌握图像处理,PDF开放下载
- Python|Python实战项目(为人脸照片添加口罩)
- python|python中matplotlib的颜色及线条类型
- 如何使用Tornado创建一个简单的Python WebSocket服务器
- 使用Bottle框架构建Rest API
- 两个库搞定python中引用javascript代码块/文件
- python个人使用代码|python示例--下载mysql数据库中数据--excel表格,合并表格