【发布时间】:2019-03-06 15:26:33
【问题描述】:
我不明白下面代码的第二个 for 循环中的 i 是如何工作的。
di = [96, 15, 33, 87]
for i in range(len(di)):
total = di[i]
for j in range(i+1,len(di)):
print(i)
0
0
0
1
1
2
为什么输出是0,0,0,1,1,2。第二个 for 循环中的 i 如何受到第一个循环的影响?有没有继承?请原谅这里的新手。
【问题讨论】:
-
尝试使用调试器单步执行程序,并查看每个步骤中
i和j的值。 -
您在
j-loop 内打印i-i不会在其中更改。它打印的次数更少,因为j循环越短,i越大。 -
在这个问题中没有特定于 Python 的内容。这是一个一般(新手)编程问题。尝试打印 (i, j) 看看发生了什么。
-
在 Python 中,您通常应该避免使用 range 函数。例如,外部 for 循环应该是:
for total in di:
标签: python for-loop nested-loops