自学内容网 自学内容网

【Python循环4/5】跳出循环的办法

目录

导入

break

具体用法

在for循环中的运用

在while循环中的运用

continue

具体用法

区别

总结


导入

        前几天的博文里,我们学习了for循环和while循环。
        无论是for循环还是while循环,默认的终止条件都是边界条件。在触发边界条件之前,代码会一直循环执行。
        那有没有可以改变这种“默认循环执行”的方法呢?答案是肯定的。接下来我们一起学习两个关键字:break、continue。

break

        某些场景里,需要在特定的条件出现时强行终止循环,并执行循环之后的代码。
这时候,就可以使用 break 这个关键字来完成。

        定义break用于跳出当前循环语句的执行。

        隐喻 :原计划在操场跑10圈,但当跑到第2圈的时候,突然被班主任叫走,于是果断停止跑步并前往办公室。

具体用法

在for循环中的运用

        break语句既可以用在for循环中也可以用在while循环中。它一般和if语句搭配在一起使用,表示如果满足了某种特定条件,就直接终止当前的循环结构。
        接下来,我们来学习break的具体用法。

        这六行代码遍历了一个列表numberList,并依次输出其中的元素。第2-5行是一个完整的for循环结构。如果列表中有大于15的元素,就终止循环结构。for循环外,输出了完整的numberList。

numberList = [10, 4, 1, 20, 6]
for i in numberList:
    print(i)
    if i > 15:
        break
print(numberList)

遍历列表

使用for...in...的结构,依次遍历numberList中的元素。

输出元素

        for循环内的代码块,依次输出列表中的元素。按理来说,列表一共有五个元素,print(i)会执行 5 次。但在本例中,print(i)只运行了 4 次,依次输出了列表中10、4、1和20这四个元素。稍后我们会详细解释这里只运行了四次的原因。

if语句

        使用if语句判断变量i是否大于15。如果判断条件成立,就执行下面的缩进代码:break;
如果判断条件不成立,则进入下一次循环。

break

        一个关键字break,执行它时将结束整个循环结构。本例中,在遍历到列表的第四个元素时,由于20大于15,判断条件成立,执行缩进代码break,程序跳出该循环。
        因此,print(i)只执行了四次。

for循环外

        执行break后,程序不会进入下一次循环继续遍历列表的第五个元素,而是从循环外的第一行开始执行:输出列表numberList。

在while循环中的运用

        while循环里break的用法和在for循环中类似。示例中,n的初始值为0,我们使用while循环依次输出小于10的整型。

        当n小于10时,输出n。第4-5行使用if语句判断了n是否等于5。如果n等于5,执行break,跳出整个while循环;如果n不等于5,则将n加一,继续进入下一次while循环。

        因此,运行结果中依次输出了0、1、2、3、4和5。因为当n等于5时,就执行break,跳出整个循环了。

continue

        我们刚刚学习了,即使在边界条件保持为True时,也可以通过使用break来终止整个循环结构。但是,如果只想跳过循环内某些语句,接着返回到循环的开头,继续进入下一次循环,该怎么办?
        这时候,就需要用到另一个关键字:continue 。

        定义continue会“跳过”本次循环内的剩余代码。

        隐喻:原计划在操场跑10圈,但是当跑到第2圈的时候,突然接到一个电话,停止了跑步。等挂断电话后,回到起点直接从第3圈继续跑。

具体用法

        注意,continue是跳过本次循环,而break跳出整个循环结构。接下来,我们来学习continue的具体用法。

        这5行代码遍历了一个列表drinks。第2-5行是一个完整的循环结构。在循环内,通过if语句判断该列表中是否有元素是"coke"。如果有,则跳过本次循环中的剩余代码,也就是第5行的print(item),直接进入到下一次循环。如果没有,就执行print(item),然后进入下一次循环,直到列表drinks中所有元素都被取完为止。

drinks = ["water", "coke", "tea", "milk"]
for item in drinks:
    if item == "coke":
        continue
    print(item)

if语句

        使用if语句判断item是否等于"coke"。如果等于,就执行continue语句;如果不等于,则执行print(item)。

continue

        一个关键字continue,它会跳过本次循环中后面的剩余代码,直接进入下一次循环。本例中,在遍历到列表的第二个元素时,item是"coke",判断条件成立,执行缩进代码continue,程序跳出本次循环,进入下一次循环。
        因此,print(item)没有输出coke。

        while循环里continue的用法和在for循环中类似。示例中,n的初始值为0,我们使用while循环依次输出小于10,但不包含5的整型。

        第4-5行使用if语句判断了n是否等于5。如果n等于5,执行continue,跳过当前的while循环,进入下一次while循环;如果不等于5,则将n输出。

        因此,运行结果中依次输出了1-10里,除了5以外的所有整型。

        有的大佬可能已经发现,continue是可以被if语句替代的,比如刚才的例子就有两种写法。
对比单纯地使用if语句,continue的优势在于它能加快程序的运行时间
        编程的世界是非常灵活的,大家在实际应用中可以根据自己的需要来进行选择。

区别

        在博文的最后,我们再来通过两段代码来感受一下break和continue的区别~当执行break时,会跳出整个循环结构,并运行循环外的第一行代码。

        执行continue时,会“跳过”本次循环内的剩余代码,返回到循环的开头,继续执行下一次循环。

总结

        break直接终止整个循环结构;continue是跳过当前循环中剩下的代码,继续进入下一次循环。


原文地址:https://blog.csdn.net/2302_80158630/article/details/136823295

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!