【发布时间】:2020-08-21 05:06:07
【问题描述】:
我来自 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++结果,请帮忙!
在此先感谢:)
【问题讨论】:
-
这能回答你的问题吗? Accessing the index in 'for' loops?
-
您始终可以
continue获取介于 6 到 8 之间的i值,例如if 5 < i < 9: continue