购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.4 continue指令和break指令

我们之前介绍的两种循环语句,在正常情况下,while循环是在进入循环体之前先判断循环的条件,条件不成立的话就会离开循环,而for循环则是在所有指定的元素都被取出之后,就结束循环的执行。不过,循环也可以使用continue或break来中断,break指令的主要用途是用来跳出当前的循环体,就像它的英文含义一般,break代表“中断”的意思。如果是在循环体中遇到指定的情况要离开当前的循环体,就要使用break指令,它的作用是跳离当前的for或while循环体,并将程序执行的控制权交给所在循环体之外的下一行程序语句。也就是说,break指令用来中断当前循环体的执行,直接从当前所在的循环体跳出。

4.4.1 break指令

当遇到嵌套循环时,break指令只会跳离它自己所在的那一层循环体,而且多半会配合if语句来一起使用,例如:


for x in range(1, 10):
    if x == 5:
        break
    print( x, end=" ")

这段程序的执行结果如图4-18所示。

图4-18

当x等于5的时候会执行break语句离开for循环体,也就是说,for循环不会继续往下执行了,可参考如图4-19所示的示意图。

图4-19

如果我们希望某一段循环程序可以不断执行,直到某一个条件成立时,才离开循环体,这个时候就可以使用break指令。

假如我们要设计一个猜数字的游戏,要求用户输入一个介于1到100之间的数字,如果输入错误,就会告知所输入的数字太大或太小,并让用户重复输入,一直到所输入的数字和原先默认的答案完全相同,这时就可以使用break指令来跳离循环,并输出正确的答案或游戏结束等信息。请看以下的程序代码:


number=9
while True:
    guess = int(input('输入1~100之间的数字 --> '))
    if guess == number:
        print('你猜对了,数字是:', number)
        break

4.4.2 continue指令

continue指令的作用是强迫for或while等循环语句结束当前正在循环内执行的程序,并将程序执行的控制权转移到下一轮循环的开始处。也就是说,在循环的执行过程中,如果遇到continue指令,就会马上中断当前这一轮循环,当前这轮循环后续所有尚未执行的程序语句都放弃,把程序流程回到while或for循环的开始处,开始下一轮循环。对比一下,break指令会结束并跳离当前循环体,而continue指令只会结束当前这一轮循环,并不会跳离当前的循环,例如:


for x in range(1, 10):
    if x == 5:
        continue
    print( x, end=" ")

上面的程序语句的执行结果如图4-20所示。

图4-20

当x等于5的时候执行continue指令,程序不会继续往下执行,所以5没有被print语句打印出来,for循环仍会继续执行,可参考如图4-21所示的示意图。

图4-21 6cKS7rz9zwYtEnjNK3jhrcwI1a8/I2RHJPuXkLtzM22cqmjiN7koYiVqQq9hK88f

点击中间区域
呼出菜单
上一章
目录
下一章
×