问题:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100元买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
拆题:
1.现在问的是公鸡、母鸡、小鸡各多少只。从最简单的方式解答:
(1)如果只买公鸡,不买母鸡和小鸡(即母鸡=0只,小鸡=0只),那公鸡最多就是100元➗5元=20只;
(2)如果只买母鸡,不买公鸡和小鸡(即公鸡=0只,小鸡=0只),那母鸡最多就是100元➗3元=33只(论整只);
(3)因为小鸡的价格不是整数,所以我们可以用公鸡母鸡小鸡的总只数,100只,做计算,小鸡只数=100只-公鸡只数-母鸡只数。
2.现在假设 公鸡只数=x,母鸡只数=y,小鸡只数=z。
3.因为x,y,z的总和得是100只,才符合本题的要求,每个类别的鸡的数量是相互作用的(此多彼少,此少则彼多),所以需要一个循环嵌套在另一个循环下。
4.代码如下:
forxin range(21):
foryin range(34):
z =100 - x - y
if z % 3==0 and 5 * x + 3 * y + z // 3==100:
print(x, y, z)
(1)第一句 for x in range(21) ,这里因为数字是从0开始,所以要写21。下一句的数字34同理。
(2)说一下if语句,有两个条件,
条件一是小鸡数量要能被3整除,即 z % 3 == 0。
条件二是公鸡母鸡小鸡的总只数得是100只,即 5 * x + 3 * y + z // 3 == 100。
两个条件同时成立(即“and”),则打印 x, y, z的值。
5.执行结果:
版权归原作者 mascotyak 所有, 如有侵权,请联系我们删除。