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/dyc5 著作权归作者所有。请勿转载和采集!