为什么没有'而#39;与#39;相同的工作继续坚持下去

时间:2017-11-25 20:28:34

标签: python loops while-loop

如果我尝试代码:

for i in range(10):
    if i < 5:
        continue
    print(i)

它将打印数字6-10。 但代码:

for i in range(10):
    while i < 5:
        continue
    print(i)

永远不会终止。 似乎while循环不会增加i 。 我在这里缺少什么?

1 个答案:

答案 0 :(得分:5)

while循环是具有条件的代码结构。只要条件满足,它就会保持循环。此外,while循环 nothing else(这与将for循环读入变量中的下一项相反)。

此外,while循环是循环continue语句与最近的循环绑定。因此,在您的第二个代码语句中,continue将让代码在while循环上执行新的迭代。

由于您的while循环不会更改icontinue会让while循环(而不是for循环)执行新的因此,它将继续执行while循环。

话虽如此,两个代码片段都不优雅。您只需使用带有两个参数的range(..)语句来声明 start 值:

for i in range(6, 10):
    print(i)