1
Python编程从入门到实践
1.8.3.3 4.3.3 循环中的break语句和continue语句
4.3.3 循环中的break语句和continue语句

循环语句执行次数由while、for中的循环控制条件决定,一旦条件不满足,循环就结束。除此之外,Python还提供了break语句和continue语句来调整循环体的运行,使程序流程更加灵活多变。

1.break语句

break语句的功能是使程序流程从包含它的最内层循环中跳出,转到该循环结构外的下一语句执行。这将导致包含它的最内层循环(while、for语句)提前终止。

break语句的一般形式:

break

【例4.18】找出100~300之间第一个能被17整除的数。

用for循环结构实现对每个数的判断,直到找出第一个能被17整除的数,输出该数,然后利用break语句跳出循环体,结束程序。

算法的流程图如图4-26所示。

图4-26 例4.18的流程图

程序如下:

运行结果如图4-27所示。

图4-27 运行结果

说明:当i能被17整除时,输出该数,然后执行break语句,结束整个循环(即跳出for循结构);当i不能被17整除时,先使变量i自增1,然后进行下一次循环操作。

使用break语句应注意以下几点:

①break语句通常与if语句配合使用。

②在嵌套的循环结构中使用时,break语句只能跳出(或终止)包含它的最内层循环,而不能同时跳出(或终止)多层循环。如:

上述break语句只能从内层的for循环体中跳到外层的while循环体中,而不能同时跳出两层循环体。

2.continue语句

continue语句的作用是结束本次循环,使得包含它的循环(while、for)开始下一次重复。也就是说,在while循环中,遇到continue语句时,立即执行表达式的测试;在for的循环体中遇到continue语句时,则立即执行提取遍历结构中的下一个值。

continue语句的一般形式:

continue

【例4.19】把100~200之间不能被7整除的数输出。算法的流程图如图4-28所示。

图4-28 例4.19流程图

程序如下:

运行结果如图4-29所示。

图4-29 运行结果

程序说明:在for的循环中,当n能被7整除时,执行continue语句结束本次循环,即跳过其后的print()语句,n取下一个值。

使用continue语句时,要注意以下几点:

①continue语句只能用于循环结构中,通常也要有if语句配合使用。

②continue语句和break语句虽然都实现了程序执行方向的无条件转移,但它们的区别是:continue语句只能结束本次循环,而不是终止整个循环的执行;break语句则是立即结束整个循环过程。图4-30和图4-31给出了continue和break语句的流程转向示意图。

图4-30 continue语句的流程转向示意图

图4-31 break语句的流程转向示意图