
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)。

执行结果如下:

如图3-18所示。

图3-18 break跳转结果
在本范例中,通过break来限定只有当循环到“和”字符时,才跳出内循环。但是,当条件不成立时,继续执行该内循环。
【范例3-12】continue跳转范例。
本范例通过continue来跳出循环,但仍执行其他循环(源代码3.12.py)。

执行结果如下:

如图3-19所示。

图3-19 continue跳转结果
continue用来结束当前当次循环,即跳出循环体中尚未执行的语句,但不跳出当前循环。
【范例3-13】break退出循环范例。
本范例通过break来退出循环,不再执行其他循环(源代码3.13.py)。

执行结果如下:

如图3-20所示。

图3-20 break退出循环结果