python 中的循环行为

Loop behavior in python

for i in range(10):
    if i == 2:
        i += 2
    print(i,end=",")

我要打印 0,1,4,5,6,7,8,9 但它正在打印 0、1、4、3、4、5、6、7、8、9。 有什么办法可以解决这个问题吗??

使用 while-loop:

i = 0
while i < 10:
    if i == 2:
        i += 2
    print(i, end=",")
    i += 1

for for-loop 将在每次迭代中重新绑定循环变量。 while-loop 给你更多的控制权。

应该这样做:

for i in range(8):
  if i >= 2 :
    i += 2
  print(i,end=",")

根据整体逻辑,这也可以解决问题。

for i in range(10):
    if i not in [2, 3]:
        print(i,end=",")