我来自c + +语言,如果我在循环中更改'i'的值,则它会影响循环的迭代,但不会在python中发生。
例如,在c ++中:
for(int i=0; i<10; i++){
cout<<i<<" ";
if(i==5)
i = 8;
}
在上面的代码中,当“ i”的值达到5时,它变为8,再经过一次迭代后,它变为9,然后循环结束。以上代码的输出是-
0 1 2 3 4 5 9
但是当我用python编写类似的代码时,它不会影响迭代,并且循环会运行所有10次。
python中的代码是-
for i in range(0, 10):
if i == 5:
i = 8
print(i, end=" ")
此代码的输出是-
0 1 2 3 4 8 6 7 8 9
它只是将5的值更改为8,而不更改循环迭代。
我如何在python中实现c ++结果,请帮忙!
提前致谢 :)
当您说i in range(0,10)
要生成一个列表时[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
,您稍后将对其进行迭代,这意味着的值i
不用作递增的int,而是在数组上进行迭代。
最好的解决方案可能是从for循环更改为while循环。
i = 0
while i < 10:
if i == 5:
i = 8
print(i)
i += 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句