for cock in range(0,21)
实现。钱的数量是固定的,要买的鸡的数量也是固定的,所以母鸡数量是受到公鸡数量限制的。同理,小鸡数量受到公鸡和母鸡数量的限制,因此我们可以利用三层循环的嵌套来解决,第一层循环控制公鸡的数量,第二层控制母鸡的数量,最内层控制小鸡的数量。
cock = 0 while cock <= 20: # 内层循环控制母鸡数量取值范围为0~33 hen = 0 while hen <= 33: #内层循环控制小鸡数量取值范围为0~100 chicken = 0 while chicken <= 100: #条件控制 print("cock=%2d,hen=%2d,chicken=%2d\n" %(cock,hen,chicken)) chicken += 1 hen += 1 cock += 1根据这三层循环,我们可以得到很多种方案,在这些方案中有些是不符合 cock+hen+chicken=100 并且 5×cock+3×hen+chicken/3=100 这两个条件的。
if(5×cock+3×hen+chicken/3.0==100)and(cock+hen+chicken==100)
。
if __name__=="__main__": # cock表示公鸡数量,hen表示母鸡数量,chicken表示小鸡数量,总共100只 # 外层循环控制公鸡数量取值范围为0~20 cock = 0 while cock <= 20: # 内层循环控制母鸡数量取值范围为0~33 hen = 0 while hen <= 33: #内层循环控制小鸡数量取值范围为0~100 chicken = 0 while chicken <= 100: # 条件控制 if (5 * cock + 3 * hen + chicken / 3.0 ==100) and (cock + hen + chicken ==100): print("cock=%2d,hen=%2d,chicken=%2d" %(cock,hen,chicken)) chicken += 1 hen += 1 cock += 1程序的运行结果为:
cock= 0,hen=25,chicken=75
cock= 4,hen=18,chicken=78
cock= 8,hen=11,chicken=81
cock=12,hen= 4,chicken=84
if __name__=="__main__": # 外层循环控制公鸡数量取整范围为0~20 cock = 0 while cock <= 20: # 内层循环控制母鸡数量取值范围为0~30 hen = 0 while hen <= 33: # 小鸡的数量 chicken = 100 - cock - hen if 5 * cock + 3 * hen + chicken / 3.0 == 100: print("cock=%2d,hen=%2d,chicken=%2d" %(cock, hen, chicken)) hen+=1 cock+=1程序的运行结果为:
cock= 0,hen=25,chicken=75
cock= 4,hen=18,chicken=78
cock= 8,hen=11,chicken=81
cock=12,hen= 4,chicken=84
本文链接:http://task.lmcjl.com/news/15230.html