Python学习19 : 能跳出循环的break和continu
前面学习了for循环和while循环,无论是for循环还是while循环,默认的终止条件都是边界条件。在触发边界条件之前,代码会一直循环执行。有没有可以改变这种“默认循环执行”的方法呢?有,那就是break、continue这两个关键字。
break用于跳出当前的循环语句的执行。好比手里原计划的工作只干到一半,突然被领导叫去,于是果断停止手里工作并前往领导办公室。
break语句既可以用在for循环中也可以用在while循环中,它一般和if语句搭配在一起使用,表示如果满足了某种特定条件,就直接终止当前的循环结构。
numberList = [10,4,1,20,6]
#使用 for...in... 的结构,依次遍历numberList中的元素。
for i in numberList:
#输出元素
print(i)
#使用if语句判断变量i是否大于15。如果判断条件成立,就执行下面的缩进代码:break;如果判断条件不成立,则进入下一次循环。
if i >15:
#一个关键字break,执行它时将结束整个循环结构。本例中,在遍历到列表的第四个元素时,由于20大于15,判断条件成立,执行缩进代码break,程序跳出该循环。因此,print(i)只执行了四次。
break
#执行break后,程序不会进入下一次循环继续遍历列表的第五个元素,而是从循环外的第一行开始执行:输出列表numberList。
print(numberList)
10
4
1
20
[10, 4, 1, 20, 6]
这六行代码遍历了一个列表numberList,并依次输出其中的元素。第2-5行是一个完整的for循环结构。如果列表中有大于15的元素,就终止循环结构。for循环外,输出了完整的numberList。
print(numberList)和for同一层级,如果空有四个空格键,即和print同一层级,将会每个数字后都会输出完整的numberList,如果有八个空格键,即和breakm同一层级,将会一个numberList都不输出。
while循环里break的用法和在for循环中类似。
i = 5
while i < 20:
if i > 7:
break
print(i)
显示
5
6
7
我们刚刚学习了,即使在边界条件保持为True时,也可以通过使用break来终止整个循环结构。但是,如果只想跳过循环内某些语句,接着返回到循环的开头,继续进入下一次循环,该怎么办?这时候,就需要用到另一个关键字:continue 。
continue会“跳过”本次循环内的剩余代码。原计划在操场跑10圈,但是当跑到第2圈的时候,突然接到一个电话,停止了跑步。等挂断电话后,回到起点直接从第3圈继续跑。
注意,continue是跳过本次循环,而break跳出整个循环结构。
drinks = ["water", "coke", "tea", "milk"]
#使用 for...in... 的结构,依次遍历drinks中的元素。
for item in drinks:
#使用if语句判断item是否等于"coke"。如果等于,就执行continue语句;如果不等于,则执行print(item)。
if item == "coke":
#关键字continue,它会跳过本次循环中后面的剩余代码,直接进入下一次循环。所以不输出coke。
continue
print(item)
在课程的最后,我们再来通过两段代码来感受一下break和continue的区别~
当执行break时,会跳出整个循环结构,并运行循环外的第一行代码。
执行continue时,会“跳过”本次循环内的剩余代码,返回到循环的开头,继续执行下一次循环。
总结一下:
break直接终止整个循环结构;
continue是跳过当前循环中剩下的代码,继续进入下一次循环。