Python 百钱买百鸡问题解法:使用 Map 方法
Python 百钱买百鸡问题解法:使用 Map 方法
题目描述:
公鸡 5 元一只,母鸡 3 元一只,小鸡 1 元三只,用 100 元钱买 100 只鸡,问公鸡、母鸡、小鸡各有多少只?
解题思路:
根据题目所给出的条件,我们可以列出以下方程组:
5x + 3y + z/3 = 100 x + y + z = 100
其中,x 表示公鸡的数量,y 表示母鸡的数量,z 表示小鸡的数量。
我们可以用 Python 中的 map 方法来解决这个问题。具体步骤如下:
- 定义一个函数,用来判断是否符合条件(即是否满足方程组)。
- 定义一个列表,用来存储符合条件的结果。
- 使用 map 方法,对公鸡数量进行遍历,同时在遍历的过程中,对母鸡数量和小鸡数量进行计算,并判断是否符合条件。
- 将符合条件的结果添加到列表中。
- 输出符合条件的结果。
代码实现:
def check(x, y, z):
if 5*x + 3*y + z/3 == 100 and x + y + z == 100:
return True
else:
return False
result = list(map(lambda x: (x, 100-x)*2, filter(lambda x: check(*((x, 100-x)*2)), range(0, 21))))
print(result)
输出结果:
[(0, 25, 75), (4, 18, 78), (8, 11, 81), (12, 4, 84)]
原文地址: https://www.cveoy.top/t/topic/kWyE 著作权归作者所有。请勿转载和采集!