循环嵌套:指在一个循环内又包含另一个循环。嵌套的循环可分为多层,每一层循环在逻辑上必须是完整的。
“百钱买百鸡”问题:
我国古代数学家张丘建建在《算经》中提出的数学问题叙述如下:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买买百鸡,问鸡翁、鸡母、鸡雏各几何?
分析:big、middle、small分别代表公鸡、母鸡和小鸡,三者符合三元一次方程式:
big+middle+small = 100
5*big + 3*middle + small/3 = 100
big = 0 #代指大鸡
middle = 0 #代指母鸡
small = 0 #代指小鸡
for big in range(0,101):
for middle in range(0,101):
for small in range(0,101):
if(big+middle+small == 100)and (5*big+3*middle+small/3)==100:
print('公鸡:%d只\n母鸡:%d只\n小鸡:%d只\n'%(big,middle,small))
结果:
分析:
运用了穷举法,使用外层for循环遍历所有可能的big值,使用内层循环遍历所有可能的middle值,循环体中的代码对应方程组,如果满足联合方程组,则打印big、middle、small的值。