学习《python程序设计教程》的时候,遇到了这个问题,觉得还蛮好玩的:
百钱买百鸡:一只公鸡5块钱,一只母鸡3块钱,三只小鸡1块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?请利用列表推导式解决该问题。
https://blog.csdn.net/hanhanwanghaha宝藏女孩的成长日记 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)
代码:
# coding=utf-8"""
百钱买百鸡:一只公鸡5块钱,一只母鸡3块钱,三只小鸡1块钱,
现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?请利用列表推导式解决该问题。
"""# 公鸡:,cock; 母鸡:,hen; 小鸡:,chickres = [("公鸡:", cock, "母鸡:", hen, "小鸡:", chick)for cock in range(20 + 1)for hen in range(33 + 1)for chick in range(300 + 1)if (cock + hen + chick == 100 and 5 * cock + 3 * hen + chick // 3 == 100) and chick % 3 == 0]
print(res)
其中range里面的函数如有不懂的可以参照https://blog.csdn.net/hanhanwanghaha/article/details/105901052
一共有四种方案 分别为
[(‘公鸡:’, 0, ‘母鸡:’, 25, ‘小鸡:’, 75), (‘公鸡:’, 4, ‘母鸡:’, 18, ‘小鸡:’, 78), (‘公鸡:’, 8, ‘母鸡:’, 11, ‘小鸡:’, 81), (‘公鸡:’, 12, ‘母鸡:’, 4, ‘小鸡:’, 84)]