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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Ubuntu】FTP站点搭建

配置顺序 前提条件:确保软件仓库可以正常使用,确保已正常配置IP地址 1.安装FTP服务 2.编辑FTP配置文件 3.设置开机自启 4.创建用户 5.配置用户限制名单 6.重启服务 7.查看运行状态 8.测试在同一局域网下的Windows查看文件 1.安装FTP服务 sudo apt insta…

大广赛获奖作品分享:平面设计精选!

全国大学生广告艺术大赛:简称大广赛,是中国最大的高校广告艺术传播平台,是由教育部高等教育司指导、中国高等教育学会广告教育专业委员会主办的全国性高校文科大赛。大广赛旨在提高大学生的创新精神和实践能力,激发大学生的创意灵…

如何查看MySQL数据库的连接数

连接数是指用户已经创建多少个连接,也就是MySQL中通过执行 SHOW PROCESSLIST命令输出数据库中运行着的线程个数的详情,如图6-1-1所示。 SHOW PROCESSLIST默认情况下只显示前100条记录的详情,如果需要显示超过100条的所有记录,可以…

qt使用Windows经典风格,以使QTreeView或QTreeWidge有节点线或加号

没有使用Windows经典风格的QTreeView或QTreeWidget显示如下: 使用Windows经典风格的QTreeView或QTreeWidget显示如下: 树展开时: 树未展开时: 可以看到: 未使用Windows经典风格时,QTreeView或QTreeWidget…

RealBasicVSR使用记录

对各种场景图片、视频超分结果都很不错的模型。 paper:https://arxiv.org/pdf/2111.12704.pdf code:https://github.com/ckkelvinchan/RealBasicVSR 一、使用步骤 1. git clone https://github.com/ckkelvinchan/RealBasicVSR.git 2. 我的环境已安装…

AJAX——综合案例

1 Bootstrap弹框 功能&#xff1a;不离开当前页面&#xff0c;显示单独内容&#xff0c;供用户操作 步骤&#xff1a; 引入bootstrap.css和bootstrap.js准备弹框标签&#xff0c;确认结构通过自定义属性&#xff0c;控制弹框的显示和隐藏 <!DOCTYPE html> <html la…

阿里云优惠券是什么?如何领取阿里云优惠券?

阿里云作为国内领先的云计算服务提供商&#xff0c;为广大用户提供了丰富的云产品和解决方案。为了吸引用户上云&#xff0c;阿里云经常推出各种优惠活动&#xff0c;其中最受用户欢迎的就是阿里云优惠券。那么&#xff0c;阿里云优惠券究竟是什么呢&#xff1f;我们又该如何领…

面经Java开发

联奕一面: 1、这段代码的输出结果是多少?t q z package com.smart.community.test;public class Test {public class B{static {System.out.println("t");}public B(){System.out.println("z");}}public class A extends B{static {System.out.println…

数据结构——lesson10排序之插入排序

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

语文新读写杂志语文新读写杂志社语文新读写编辑部2023年第18期目录

视点_名作鉴赏 新年醉话《语文新读写》投稿&#xff1a;cn7kantougao163.com 老舍; 1 那些年&#xff0c;唐朝人一起喝过的酒 章雪峰; 2-5 酒德颂 刘伶; 5 刘伶病酒 刘义庆; 6 将进酒 李白; 7 把酒问月 李白; 8 哭宣城善酿纪叟 李白; 9 饮中八…

login登录界面

展示情况 代码&#xff1a; <template><div class"wrapper"><div style"margin: 200px auto; background-color: #fff; width: 350px; height: 300px; padding: 20px; border-radius: 10px"> <div style"margin: 20px 0; text…

基于spring boot框架的发艺美发店管理系统

摘 要 系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而…

熵、交叉熵、KL散度【详细理论推导】

机器学习笔记 第一章 机器学习简介 第二章 感知机 第三章 支持向量机 第四章 朴素贝叶斯分类器 第五章 Logistic回归 第六章 线性回归和岭回归 第七章 多层感知机与反向传播【Python实例】 第八章 主成分分析【PCA降维】 第九章 隐马尔可夫模型 第十章 奇异值分解 提示&#x…

【机器学习-05】模型的评估与选择

在前面【机器学习-01】机器学习基本概念与建模流程的文章中我们已经知道了机器学习的一些基本概念和模型构建的流程&#xff0c;本章我们将介绍模型训练出来后如何对模型进行评估和选择等 1、 误差与过拟合 学习器对样本的实际预测结果与真实值之间的差异&#xff0c;我们称之…

最新2024年阿里云服务器地域和可用区全球分布表

2024年最新阿里云服务器地域分布表&#xff0c;地域指数据中心所在的地理区域&#xff0c;通常按照数据中心所在的城市划分&#xff0c;例如华北2&#xff08;北京&#xff09;地域表示数据中心所在的城市是北京。阿里云地域分为四部分即中国、亚太其他国家、欧洲与美洲和中东&…

spring 没完没了

start 轻量级开源的j2ee框架&#xff0c;容器框架 装javabean aop ioc 定义一个starter的jar包&#xff0c;写一个configuration配置类&#xff0c;将bean定义其中&#xff0c;在starter包的meta-inf/spring.factories中写入配置类&#xff0c;springboot会按约定加载该配置类 …

3D模型优化服务+三维可视化+数字孪生+元宇宙=眸瑞科技

眸瑞科技&#xff1a;老子云平台AMRT3D数字孪生引擎 老子云概述 老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自…

【Flask开发实战】防火墙配置文件解析(二)之shell读取内容

一、前言 上一篇文章中&#xff0c;介绍了防火墙配置文件包含的基本元素和格式样式&#xff0c;并模拟了几组有代表性的规则内容&#xff0c;作为基础测试数据。在拿到基础测试数据后&#xff0c;关于我们最终想解析成的数据是什么样式的&#xff0c;其实不难看出&#xff0c;…

gitlab仓库使用流程(开发)

1.1.GitLab代码提交流程&#xff1a; 1.1.1准备阶段&#xff1a; 确保已经安装了Git&#xff0c;并且配置了正确的用户名和邮箱地址。 在本地创建一个新的文件夹&#xff0c;用于存放即将开发的代码。 1.1.2.拉取代码&#xff1a; 使用git clone命令从GitLab上拉取项目代码…

day05vue学习

day05 一、学习目标 1.自定义指令 基本语法&#xff08;全局、局部注册&#xff09;指令的值v-loading的指令封装 2.插槽 默认插槽具名插槽作用域插槽 3.综合案例&#xff1a;商品列表 MyTag组件封装MyTable组件封装 4.路由入门 单页应用程序路由VueRouter的基本使用 …
最新文章