【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":continueprint(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是跳过当前循环中剩下的代码,继续进入下一次循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/549467.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑插上网线之后仍然没网络怎么办?

前言 有小伙伴在使用Windows系统的时候,经常会遇到电脑没网络,但又不知道具体怎么调整才好。 本篇内容适合插网线和使用Wi-Fi的小伙伴,文章本质上是重置电脑的网络设置。 注意事项:网络重置操作会让已连接过的wifi密码丢失&…

使用 stable-diffusion 入门级教程【Mac】

最近一直在短视频平台刷到AI生成的图片,质量也非常不错。术哥也跟我讲解了下如何安装使用。于是周末试了试。 也差点变成从入门到放弃了,所以也把过程中遇到的问题记录一下。 目前基本上运行正常,只是内存稍微小了点,把质量调低即…

【PyTorch】一文详细介绍【0维】张量

【PyTorch】一文详细介绍【0维】张量 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ &#x1…

供应链投毒预警 | 恶意Py组件tohoku-tus-iot-automation开展窃密木马投毒攻击

概述 上周(2024年3月6号),悬镜供应链安全情报中心在Pypi官方仓库(https://pypi.org/)中捕获1起新的Py包投毒事件,Python组件tohoku-tus-iot-automation 从3月6号开始连续发布6个不同版本恶意包&#xff0c…

20240318uniapp怎么引用组件

在script中增加 import index from "/pages/index/index.vue" 把index直接整个作为一个组件引入 然后注册组件 在export default中增加 components: {index:index }, 注册了index组件&#xff0c;内容为import的index 然后就可以在template里使用 <index&…

面试笔记——Redis(缓存击穿、缓存雪崩)

缓存击穿 缓存击穿&#xff08;Cache Breakdown&#xff09;&#xff1a; 当某个缓存键的缓存失效时&#xff08;如&#xff0c;过期时间&#xff09;&#xff0c;同时有大量的请求到达&#xff0c;并且这些请求都需要获取相同的数据&#xff0c;这些请求会同时绕过缓存系统&a…

<7> 场景图形的工作机制 - 1

本章主要介绍 OSG 场景的工作机制以及如何动态变更场景数据&#xff0c;主要内容包括内存管理、访问器、回调的设计及数据变量。 1. 内存管理 面对大规模的场景时&#xff0c;经常需要增加或删除一些数据&#xff0c;这些操作往往会因为不小心造成内存泄露或野指针&#xff0c…

力扣106---从中序和后序序列构造二叉树

题目描述&#xff1a; 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7], postorder [9,15,7,20…

深度学习神经网络相关记录《二》

如何判断模型是一个好模型&#xff1f; 模型预测效果&#xff0c;也就是模型预测的准确率运算速度&#xff1b;能够处理大量数据、短时间内急速学习、可以实时进行预测&#xff0c;是机器学习的重要优势&#xff1b;可解释性&#xff1b;深度学习已经不太关系这一点了&#xf…

zookeeper集群安装部署和集群异常处理

准备jdk和zookeeper安装包【官网即可下载】 zookeeper-3.5.1-alpha.tar.gz jdk1.7.0_8020200612.tar 准备三台linux虚拟机【具体以项目实际需要为准】&#xff0c;并安装jdk和zookeeper 虚拟机地址如下&#xff1a;194.1.1.86&#xff08;server.1&#xff09;、194.1.1.74…

华为配置WAPI-PSK安全策略实验

配置WAPI-PSK安全策略示例 组网图形 图1 配置WAPI-PSK安全策略组网图 配置流程组网需求配置思路配置注意事项操作步骤配置文件 配置流程 WLAN不同的特性和功能需要在不同类型的模板下进行配置和维护&#xff0c;这些模板统称为WLAN模板&#xff0c;如域管理模板、射频模板、VAP…

服务器相关知识点总结

一、服务器概述 1.服务器的定义 服务器是计算机的一种&#xff0c;是网络中为客户端计算机提供各种服务的高性能的计算机。服务器在网络操作系统的控制下&#xff0c;将与其连接的硬盘、磁带、打印机以及昂贵的专用通讯设备提供给网络上的客户站点共享&#xff0c;也能为网络用…