是否可以在Python中循环增加迭代器?

时间:2015-07-05 17:39:56

标签: python loops for-loop iterator increment

我想在Python中循环增加iterator i。以下代码:

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

以这种方式输出此代码:

0123456789

但应该是不同的。感谢。

2 个答案:

答案 0 :(得分:4)

每次迭代都会重新分配

i;这就是for循环的工作原理。如果你想跳过每一个数字(即以2的步长迭代),你需要这样做:

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

range函数的第三个参数,称为step,只是确定每次迭代中i递增的内容。

答案 1 :(得分:1)

只需在step函数中使用range参数:

>>> for i in range(0,10,2):   
...     print(i, end="")
... 
>>> 02468

请注意,在每次迭代后,for循环会更改i的值,因此您不应在print之后更改它!

如果您在打印前执行此操作,您将获得以下结果:

>>> for i in range(0,10,2):
...     i += 2
...     print(i, end="")
... 
>>> 246810