我有这段代码,如果我输入数字 3,它会输出 0 0 和 1。
num = int(input("Enter number"))
for i in range(num):
for j in range(i):
print(j)
问题是我知道它打印第一个 0,因为 range(0) 阻止了 for j 代码在 for i 的第一次迭代中执行。当 i = 1 时,它显然输出 0,因为它是 J 的第一次迭代。但是当 i = 2 时,我知道 j 循环运行两次,因为 range(2) 但问题是我很困惑为什么它输出 0 和 1 而不是1 和 2 因为它是 J 的当前迭代。任何人都可以解释这个问题并教一些有关嵌套 for 循环的知识吗?
我尝试了代码并期望 0, 1, 2 但我得到了 0 0 1.
因为
for j
循环的每次运行都重新开始。您正在运行三个循环:一个是 range(0)
什么都不做,一个是 range(1)
会产生 0
,另一个是 range(2)
会产生 0 1
。
它与: 相同
for i in range(3):
print(list(range(i))