Dan*_*iel -1 python loops while-loop
如果我尝试代码:
for i in range(10):
if i < 5:
continue
print(i)
Run Code Online (Sandbox Code Playgroud)
它将打印数字6-10.但代码:
for i in range(10):
while i < 5:
continue
print(i)
Run Code Online (Sandbox Code Playgroud)
永远不会终止.似乎while循环不会增加i.我在这里错过了什么?
甲while环是一个码结构的情况.只要条件满足,它就会保持循环.此外,while循环不会执行任何其他操作(这与for将下一项读入变量的循环相反).
此外,while循环是一个循环.该continue语句与最接近的循环绑定.因此,在您的第二个代码语句中,continue将让代码在循环上执行新的迭代while.
由于你的while循环没有改变i,并且continue让while循环(而不是for循环)执行新的循环,因此它将继续执行while循环.
话虽如此,两个代码片段都不优雅.你可以简单地用一个range(..)语句有两个参数陈述启动值:
for i in range(6, 10):
print(i)Run Code Online (Sandbox Code Playgroud)