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循环:

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

for循环将在每次迭代中重新绑定循环变量。 while循环为您提供更多控制权。

,

这应该做到:

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

基于整体逻辑,这也可以解决问题。

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