def loop():
for i in range (0,9):
pass
if i == 3:
i = i +3
print(i)
loop()
当前输出:
0
1
2
6
4
5
6
7
8
期待输出:
0
1
2
6
7
8
9
这是否必须对Python中创建堆栈帧的方式做些什么? 为什么即使我们递增i,迭代次数也不会减少?
答案 0 :(得分:7)
i
的值与循环执行没有任何关系。这由...... range(0, 9)
(或range(9)
)确定。 for
循环用于迭代迭代器,并迭代一定数量的迭代。如果您想跳过循环迭代,您可以使用条件控制continue
来执行此操作。
但是,对于您的情况,我建议使用while
循环,这种要求的惯用选择更为恰当。
i = 0
while i < 9:
... # something happens here
if i == 3:
i += 3
else:
i += 1