我在将它从 C 移植到 Python 时遇到概念性问题:
int p;
for (p = 32; p < 64; p += 2) {
if (some condition)
break;
do some stuff
}
return p;
将循环转换为 for p in range(32,64,2)
不起作用。这是因为在循环结束后,p
等于 62 而不是 64。
我可以用 while
循环很容易地做到这一点:
p = 32
while p < 64:
if (some condition):
break
do some stuff
p += 2
return p
但我正在寻找一种Pythonic 方式。
最佳答案
如果不满足条件,您可以使用 else
进行 for
循环,以像 C 循环那样添加 2:
for p in range(32, 64, 2):
if some_condition:
break
else:
# only executed if for loop iterates to the end
p += 2
关于python - 在 Python 中,当循环运行到结束时,如何创建一个 for 循环,其中变量的值等于范围的停止值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45129146/