Python 为什么';继续';和';中断';给出相同的结果?

Python 为什么';继续';和';中断';给出相同的结果?,python,continue,Python,Continue,在我的代码中,关键字“continue”和“break”给出相同的输出。原因是什么 x = 0 while x < 5: if x == 2: break print(x) x += 1 第一个代码: x = 0 while x < 5: if x == 2: break print(x) x += 1 x=0 当x

在我的代码中,关键字“continue”和“break”给出相同的输出。原因是什么

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
第一个代码:

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
x=0
当x<5时:
如果x==2:
打破
打印(x)
x+=1
输出: 0 一,

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
第二个代码:

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
x = 0
while x < 5:
    if x == 2:
        continue
    print(x)
    x += 1
x=0
当x<5时:
如果x==2:
持续
打印(x)
x+=1
输出: 0 一,

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
在第1个代码中,我期望得到相同的输出。在第二个例子中,我希望输出是这样的: 输出: 0 1. 3.
4

python中的
continue
关键字告诉程序跳过循环的其余内容并跳到下一个迭代

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1

在第二段代码中,您将注意到程序从未停止执行。这是因为一旦
x==2
True
,程序将点击
continue
,然后跳转到下一个迭代……在那里它再次检查
x
是否等于2,并点击
continue
。这是一个无限循环

break
立即退出循环,
continue
停止当前迭代以直接开始下一个迭代(它不会退出循环)。第二个代码示例永远不会终止,因为
continue
重新启动while循环而不增加
x

continue
停止循环的当前迭代,并立即转到循环的下一个迭代,跳过循环体的其余部分

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
while
循环中,正文的其余部分包括语句
x+=1
。因此,
x
永远不会变成
3
,而是停留在
2
。从那时起,如果x==2:测试总是成功的,并且它一直跳过增量,并且反复重复这个循环

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
for
循环中,它跳过循环体的其余部分,然后从循环的迭代器中获取下一项。如果将循环更改为:

x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1
for x in range(5):
    if x == 2:
        continue
    print(x)

您将获得预期的输出。递增
x
不是在循环体中完成的,而是由
for
语句本身完成的。它会在每次迭代开始时自动发生。所以
continue
只跳过
print
语句。

我建议看一下continue的功能,因为我认为它的功能与您认为的不同。@brunns:您是对的,第二个不会终止,但如果您在解释器中运行此代码,您将看到0,1,然后只是一个闪烁的光标:)您能解释一下for循环中的“continue”关键字吗?我想我还不了解它在for循环中的作用。我添加了一个解释,说明了
for
while
的不同之处。这是一个很好的解释!我现在明白了其中的区别。我需要意识到增量是由
本身完成的,而不是
while
。谢谢
x = 0
while x < 5:
    if x == 2:
        break
    print(x)
    x += 1