Python编程基础与科学计算
上QQ阅读APP看书,第一时间看更新

1.9.4 continue语句和break语句

for循环在循环变量没读完sequence中的数据,while循环结构的逻辑表达式是True时,会一直进行下去,直到满足终止循环的情况出现。如果用户想在没有出现终止循环的情况下提前结束本次循环或者完全终止循环,可以在循环体中使用continue语句或break语句。continue或break语句通常放到if分支语句中,用if的逻辑表达式判断出现某种情况时结束本次循环或终止循环。

1.结束本次循环语句continue

continue语句可以提前停止正在进行的某次循环,进入下次循环。在for循环和while循环中,continue语句出现的位置一般如下所示:

continue语句通常放到if的分支语句中。含有continue的if分支结构将for循环或者while循环的循环语句分为两部分循环语句块——循环语句块1和循环语句块2(也可能没有分割),在某次循环中,执行完循环语句块1后,进行if的逻辑表达式计算,如果if逻辑表达式的返回值为True,则执行continue语句;此时不再执行循环语句块2,而是跳转到for循环或while循环的开始位置,对于for循环读取sequence序列的下一个数据进行下一次循环,对于while循环,计算while循环的逻辑表达式,准备进入下一次循环。例如下面的代码不输出“i=3”,当i的值是3时,将不执行print('i=',i)。

下面的代码由用户输入一个整数,输出1到这个整数的奇数和偶数。

2.终止循环语句break

break语句可以终止正在进行的循环,跳过剩余的循环次数,直接执行循环体后的后续语句块。break语句通常也放到if的分支语句中。在for循环和while循环中,break语句出现的一般位置如下所示。

当if的逻辑表达式返回值是True时,执行break语句,跳出整个循环,执行后续语句块。利用break语句可以防止while循环处于死循环中,例如下面的代码。

对于有循环嵌套的情况,continue和break语句只终止与continue和break语句最近的循环,例如下面的代码找出质数。