知识中心

break和continue | Python从入门到精通:入门篇之十九-阿里云开发者社区

2019-12-26 00:00:00 mimukeji

第十八节:用循环嵌套语句打印九九乘法表

循环终止

19.1 break

break可以用来终止循环,立即退出循环语句(包括else)。
先来看一个示例:创建一个5次的循环。

i=0
while i < 5 :
    print(i)
    i += 1
else :
    print('循环结束')

执行结果为:
image.png
接下来我们为该循环语句加上break,再来看一下效果:

i=0
while i < 5 :
    if i == 3 :
        break
    print(i)
    i += 1
else :
    print('循环结束')

执行结果为:
image.png
只显示了‘0’、‘1’、‘2’,因为当i=3的时候,循环遇到了break被结束了,包括else后面的语句也一起不执行。

19.2 continue

continue用来跳过当次循环。
还是用上面的例子:创建一个5次的循环。

i=0
while i < 5 :
    print(i)
    i += 1
else :
    print('循环结束')

执行结果为:
image.png
接下来我们为程序加上continue语句:

i=0
while i < 5 :
    if i == 3 :
        continue 
    print(i)
    i += 1
else :
    print('循环结束')

执行结果为:
image.png
这个结果和我们想象中有点不一样,continue终止的应该是本次循环,但是后面的4也不出现了。检查下程序哪里出了问题,会发现是continue语句写在了上面,后面的print语句和i自增的语句默认为continue的当次循环语句,所以也不再执行了,我们将循环更新的条件放到上面。

i=0
while i < 5 :
    i += 1
    if i == 3 :
        continue
    print(i)
else :
    print('循环结束')

执行结果为:
image.png
当i=3的时候,循环语句跳过了,直接执行了下次循环。
将continue改成break再看下:

i=0
while i < 5 :
    i += 1
    if i == 3 :
        break 
    print(i)
else :
    print('循环结束')

执行结果为:
image.png
结束了整个循环。
综上所述:break用来终止整个循环,包括else语句,而continue用来终止当次循环,程序会跳过当次循环,进入下一次。注意:如果有多层循环嵌套,两者都是只对离它最近的循环体起作用。