![Python核心编程从入门到开发实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/118/30638118/b_30638118.jpg)
3.4.3 循环辅助语句:break和continue
在程序运行过程中,根据程序的目的,有时需要在满足另一个特定条件时跳出本次循环,或者跳出本次循环去执行另外的循环。在Python中要实现循环的自由转场,就要用到两个辅助保留字:break和continue,它们用来辅助控制循环。
break语句可以在循环过程中直接退出循环;而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句必须配合if语句使用。
要特别注意,不要滥用break和continue语句,因为break和continue语句会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句。在一般情况下,可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句。
有时候,如果代码写得有问题,则会让程序陷入死循环,也就是永远循环下去。这时可以按“Ctrl+C”组合键退出程序,或者强制结束Python进程。
【范例3-11】break跳转范例。
本范例通过break来跳出内循环,但仍执行其他循环(源代码3.11.py)。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/80_1.jpg?sign=1739196524-Z8U7MqgqOfyeX9Jn5WOvl46UCqdl95SD-0-dec3e64e1949996bf22483f10e0119ce)
执行结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/80_2.jpg?sign=1739196524-Fjbu8dZCVdD9zsePigtpRxUmr4bEGRPY-0-b502312acc7a15bdc60d6f205a088ce6)
如图3-18所示。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/80_3.jpg?sign=1739196524-mRUHL2B3YxWA7lREv4RtHD6G4orBO8Aa-0-e0d4b92429be08dba8a9b656bbe1d6e5)
图3-18 break跳转结果
在本范例中,通过break来限定只有当循环到“和”字符时,才跳出内循环。但是,当条件不成立时,继续执行该内循环。
【范例3-12】continue跳转范例。
本范例通过continue来跳出循环,但仍执行其他循环(源代码3.12.py)。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/80_4.jpg?sign=1739196524-FC5kRH1vQZHuDb1YSVzLc8TlvIj9vhdg-0-9a8f0e920485a02a4c5b60884e238b28)
执行结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/80_5.jpg?sign=1739196524-SXu2sSpf8MI2ThuIrWiKzXwhIAr7RhSq-0-c16bbf2aa04b32c997097ad370e8ba32)
如图3-19所示。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/81_1.jpg?sign=1739196524-7LOhr3u8P3cAtcnya9ROsxo2N7zPhImn-0-b6398ffbd53890b0c4cf2c2f67bf69a0)
图3-19 continue跳转结果
continue用来结束当前当次循环,即跳出循环体中尚未执行的语句,但不跳出当前循环。
【范例3-13】break退出循环范例。
本范例通过break来退出循环,不再执行其他循环(源代码3.13.py)。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/81_2.jpg?sign=1739196524-VSmZ0DmRiGXbU7QTq68XXVT8YJxBL0G7-0-e6e7a34e351bb220a42138c2ebaa5cb6)
执行结果如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/81_3.jpg?sign=1739196524-sni7WA0XG8mWsm5pQBvWEVo1NmCig7Qx-0-35a9f0e86b21dccb6913337627a6076c)
如图3-20所示。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/81_4.jpg?sign=1739196524-u33kR9nqZ9FBoZ0HSzCGVUElKrcFBd3X-0-673add965836fef9098262f75cf36107)
图3-20 break退出循环结果