和我最开始一样,都把问题复杂化了。
你的思路还停留在把所有组合都输出,然后排除掉。
网址里那个办法,就是直接过滤掉不合格的,只显示合格的。
你这样理解:
[Python] 纯文本查看 复制代码 for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
3层循环,最里面的k循环,实际是这样:
1 1 1
1 1 2
1 1 3
1 1 4
--------------下面是j循环
1 2 1
1 2 2
1 2 3
1 2 4
--------
1 3 1
1 3 2
1 3 3
1 3 4
1 3 1
1 4 2
1 4 3
1 4 4
---------------------->
[Python] 纯文本查看 复制代码 print(i,j,k)
不是打印的三位数,而是三个独立的数,里面用","号隔开了。共就是4*4*4,不是5*5*5.
你别想成这是 个十百,这就是3个独立数字。
------------
你不要把条件写的那么清楚,你要利用计算机的特点,就是傻算。
[Python] 纯文本查看 复制代码 ## 答案:20只鸡,30只猫。
## 鸡和猫 一共50只,一共160条腿。鸡几只,猫几只?
for x in range(1, 51):
if x * 2 + (50 - x) * 4 == 160:
print("鸡有:", x)
print("猫有:", 50 - x)
----------鸡猫同笼,我都怕你处理这个问题,要猫是M,鸡是J.... |