零基础学Python(9)— 流程控制语句(下)

前言:Hello大家好,我是小哥谈。流程控制语句是编程语言中用于控制程序执行流程的语句,本节课就带大家认识下Python语言中常见的流程控制语句!~🌈  

     目录

🚀1.while循环

🚀2.for循环

🚀3.循环嵌套

🚀4.跳转语句

🚀5.pass空语句

🚀1.while循环

while循环是通过一个条件来控制是否要继续反复执行循环体中的语句。

语法如下:

while 条件表达式:循环体

说明:循环体是指一组被重复执行的语句。

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while循环语句的执行流程如下图所示。

我们用现实生活中的例子来理解while循环的执行流程。在体育课上,体育老师要求同学们沿着环形操场跑圈,要求当听到老师吹的哨子声时就停下来。同学们每跑一圈,可能会请求一次老师吹哨子。如果老师吹哨子,则停下来,即循环结束,否则继续跑步,即执行循环。

注意:在使用while循环语句时,一定不要忘记添加将循环条件改变为False的代码,否则,将产生死循环。


🚀2.for循环

for循环是一个依次重复执行的循环。通常适用于枚举或遍历序列,以及迭代对象中的元素。

语法如下:

for 迭代变量 in 对象:循环体

其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表和元组等;循环体为一组被重复执行的语句。

for循环语句的执行流程如下图所示:

我们用现实生活中的例子来理解for循环的执行流程。在体育课上,体育老师要求同学们排队进行踢毽球测试,每个同学一次机会,毽球落地则换另一个同学,直到全部同学都测试完毕,即循环结束。

案例1:进行数值循环

在使用for循环时,最基本的应用就是进行数值循环。例如,想要实现从1到100的累加,可以通过下面的代码实现:

print("计算1+2+3+……+100的结果为:")
result = 0                      # 保存累加结果的变量
for i in range(101):result += i                 # 实现累加功能
print(result)                   # 在循环结束时输出结果

在上面的代码中,使用了range()函数,该函数是Python内置的函数,用于生成一系列连续的整数,多用于for循环语句中。其语法格式如下:

range(start,end,step)

参数说明:

start:用于指定计数的起始值,可以省略,如果省略则从0开始。

end:用于指定计数的结束值(但不包括该值,如range(7),则得到的值为0~6,不包括7),不能省略。当range()函数中只有一个参数时,即表示指定计数的结束值。

step:用于指定步长,即两个数之间的间隔,可以省略,如果省略则表示步长为1。例如,range(1,7)将得到1、2、3、4、5、6。

注意:在使用range()函数时,如果只有一个参数,那么表示指定的是end;如果有两个参数,则表示指定的是start和end;如果3个参数都存在时,最后一个参数才表示步长。

例如,使用下面的for循环语句,将输出10以内的所有奇数:

for i in range(1,10,2):print(i,end = ' ')

得到的结果如下:

1 3 5 7 9

案例2:遍历字符串

使用for循环语句除了可以循环数值,还可以逐个遍历字符串,例如,下面的代码可以将横向显示的字符串转换为纵向显示:

string = '腹有读书气自华'
print(string)                             # 横向显示
for ch in string:print(ch)                              # 纵向显示

上面代码的运行结果如下图所示。

说明:for循环语句还可以用于迭代(遍历)列表、元组、集合和字典等。


🚀3.循环嵌套

在Python中,允许在一个循环体中嵌入另一个循环,这称为循环嵌套。例如,在电影院找座位号,需要知道第几排第几列才能准确找到自己的座位号,假如寻找如下图所示的在第二排第三列座位号,首先寻找第二排,然后在第二排再寻找第三列,这个寻找座位的过程就类似循环嵌套。

在Python中,for循环和while循环都可以进行循环嵌套。

例如,在while循环中套用while循环的格式如下:

while 条件表达式1:while 条件表达式2:循环体2循环体1

在for循环中套用for循环的格式如下:

for 迭代变量1 in 对象1:for 迭代变量2 in 对象2:循环体2循环体1

在while循环中套用for循环的格式如下:

while 条件表达式:for 迭代变量 in 对象:循环体2循环体1

在for循环中套用while循环的格式如下:

for 迭代变量 in 对象:while 条件表达式:循环体2循环体1

除了上面介绍的4种嵌套格式外,还可以实现更多层的嵌套,因为与上面的嵌套方法类似,这里就不再一一列出了。


🚀4.跳转语句

当循环条件一直满足时,程序将会一直执行下去,就像一辆迷路的车,在某个地方不停地转圈。如果希望在中间离开循环,也就是for循环结束重复之前,或者while循环找到结束条件之前。有两种方法来做到:

1.使用continue语句直接跳到循环的下一次迭代。

2.使用break完全中止循环。

🍀(1)break语句

break语句可以终止当前的循环,包括while和for在内的所有控制语句。以独自一人沿着操场跑步为例,原计划跑10圈。可是在跑到第2圈的时候,遇到自己的女神或者男神,于是果断停下来,终止跑步,这就相当于使用了break语句提前终止了循环。break语句的语法比较简单,只需要在相应的while或for语句中加入即可。

说明:break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句将跳出最内层的循环。

在while语句中使用break语句的形式如下:

while 条件表达式1:执行代码if 条件表达式2:break

其中,条件表达式2用于判断何时调用break语句跳出循环。在while语句中使用break语句的流程如下图所示。

在for语句中使用break语句的形式如下:

for 迭代变量 in 对象:if 条件表达式:break

其中,条件表达式用于判断何时调用break语句跳出循环。在for语句中使用break语句的流程如下图所示。

🍀(2)continue语句

continue语句的作用没有break语句强大,它只能终止本次循环而提前进入到下一次循环中。仍然以独自一人沿着操场跑步为例,原计划跑步10圈。当跑到第2圈一半的时候,遇到自己的女神或者男神也在跑步,于是果断停下来,跑回起点等待,制造一次完美邂逅,然后从第3圈开始继续。

continue语句的语法比较简单,只需要在相应的while或for语句中加入即可。

说明:continue语句一般会与if语句搭配使用,表示在某种条件下,跳过当前循环的剩余语句,然后继续进行下一轮循环。如果使用嵌套循环,continue语句将只跳过最内层循环中的剩余语句。

在while语句中使用continue语句的形式如下:

while 条件表达式1:执行代码if 条件表达式2:continue

其中,条件表达式2用于判断何时调用continue语句跳出循环。在while语句中使用continue语句的流程如下图所示。

在for语句中使用continue语句的形式如下:

for 迭代变量 in 对象:if 条件表达式:continue

其中,条件表达式用于判断何时调用continue语句跳出循环。在for语句中使用continue语句的流程如下图所示。


🚀5.pass空语句

在Python中还有一个pass语句,表示空语句。它不做任何事情,一般起到占位作用。例如,在应用for循环输出1~10之间(不包括10)的偶数时,在不是偶数时,应用pass语句占个位置,方便以后对不是偶数的数进行处理。代码如下:

for i in range(1,10):if i%2 == 0:                         # 判断是否为偶数print(i,end = ' ')else:                             # 不是偶数pass                          # 占位符,不做任何事情

程序运行结果如下:

2 4 6 8


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

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

相关文章

RCE(命令执行)知识点总结最详细

description: 这里是CTF做题时常见的会遇见的RCE的漏洞知识点总结。 如果你觉得写得好并且想看更多web知识的话可以去gitbook.22kaka.fun去看,上面是我写的一本关于web学习的一个gitbook,当然如果你能去我的github为我的这个项目点亮星星我会感激不尽htt…

STM32之定时器

一、简介 STM32F4xx系列共有14个定时器,其中2个高级定时器、10个通用定时器、2个基本定时器。下图 为各定时器及其功能。 图1.各定时器及其功能 二、定时器的计数模式 向上计数模式:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始…

17:定时器编程实战

1、实验目的 (1)使用定时器来完成LED闪烁 (2)原来实现闪烁时中间的延迟是用delay函数实现的,在delay的过程中CPU要一直耗在这里不能去做别的事情。这是之前的缺点 (3)本节用定时器来定一个时间(譬如0.3s),在这个定时器定时时间内…

抽象springBoot报错

Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. 中文翻译:无法配置DataSource:未指定“url”属性,并且无法配置嵌入数据源。 DataSource 翻译:数据源 得…

The Back-And-Forth Method (BFM) for Wasserstein Gradient Flows windows安装

本文记录了BFM算法代码在windows上的安装过程。 算法原网站:https://wasserstein-gradient-flows.netlify.app/ github:https://github.com/wonjunee/wgfBFMcodes 文章目录 FFTWwgfBFMcodesMATLABpython注 FFTW 官网/下载路径:https://ww…

警惕钓鱼邮件,保护您的开发者账号

请警惕钓鱼邮件 钓鱼邮件经常冒充官方 Google Play 通信,以窃取敏感信息,并最终为了经济利益盗取开发者账号。 保护开发者免受钓鱼邮件侵害的提示: Google.com 是用于联系开发者的唯一合法电子邮件域名。我们不会通过电子邮件或实时聊天要求您…

【Linux系统学习】 4.Linux实用操作 上

Linux实用操作 1.各类小技巧(快捷键) 1.1 ctrl c 强制停止 Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl c 命令输入错误,也可以通过快捷键ctrl c,退出当前输入,重新输入 1…

第十六篇【传奇开心果系列】Python的OpenCV库技术点案例示例:图像质量评估

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例短博文系列博文目录前言一、图像质量评估方法和相关函数的介绍二、均方误差示例代码三、峰值信噪比示例代码四、结构相似性指数示例代码五、视频质量评估示例代码六、OpenCV均方根误差计算示例代码七、OpenC…

Cilium CNI深度指南

Cilium是基于eBPF的功能强大的CNI插件,为云原生环境提供了强大的网络和安全支持。原文: Cilium CNI: A Comprehensive Deep Dive Guide for Networking and Security Enthusiasts! 🌓简介 欢迎阅读为网络和安全爱好者提供的全面深入的指南! 本…

【JavaEE】_传输层协议UDP与TCP

目录 1. 开发中常见的数据组织格式 1.1 XML 1.2 JSON 1.3 Protobuf 2. 端口号 3. UDP协议 4. TCP协议 4.1 特点 4.2 TCP报文格式 4.3 TCP可靠性机制 4.3.1 确认应答机制 4.3.2 超时重传机制 4.3.2.1 丢包的两种情况 4.3.2.2 重传时间 4.3.3 连接管理机制 4.3.3…

VSCode如何让先前打开的文件不被自动关闭,一直保持在标签栏里(关闭预览模式)

第一次接触VSCode-Huawei IDE编辑器,每次打开一个新的代码文件,旧的代码文件都会被自动关闭(现在才知道是因为文件默认是以预览模式打开展示的)。 那么如何才能让先前打开的文件一直保持在标签栏里呢? 我们需要去设置…

MySQL 升级脚本制作

当数据库更新字段后或添加一些基础信息,要对生产环境进行升级,之前都是手动编写sql,容易出错还容易缺失。 通过 Navcat 工具的数据库结构同步功能和数据同步功能完成数据库脚本的制作。 一、结构同步功能 1、选择 工具–结构同步&#xff1…

【项目技术点总结之三】使用Java生成复杂好看的word或pdf报告的解决方案

前言 项目中往往会遇到需要生成报告的场景,不管是简单报告还是复杂报告,其实都需要找很多资料去尝试,本文会提出几种个人完美解决报告生成的解决方案,而且会提出几个失败但是能生成报告的设想,当然都是踩过坑的&#…

Web3智能合约:重新定义商业合作的未来

随着区块链技术的飞速发展,Web3时代正逐渐到来,而其中的智能合约成为推动商业合作变革的关键力量。本文将深入探讨Web3智能合约的概念、特点以及对商业合作未来的巨大影响。 什么是Web3智能合约? 智能合约是一种以代码形式编写、自动执行合同…

Linux——进程间通信:管道

我们在开发过程中,可能会碰到两个或多个进程需要协同进行,这两个进 程之间有着一定的关系,这个进程可能会需要另一个进程的某些消息来达 到自己的目的,或者是一个进程控制着另一个进程,又或者是需要某种资 源的共享。但…

Blazor入门100天 : 自做一个支持长按事件的按钮组件

好长时间没继续写这个系列博客了, 不知道大家还记得我吗? 话不多说,直接开撸. 配套源码 demo https://blazor.app1.es/b19LongPressButton ####1. 新建 net8 blazor 工程 b19LongPressButton 至于用什么模式大家各取所需, 我创建的是ssr单工程, 如果大家不小心建立错了按页…

C#上位机与三菱PLC的通信03--MC协议之A-1E报文解析

1、MC协议帧 MC协议可以在串口通信,也可以在以太网通信,有A-1E和Qna-3E两种模式,这两种都是三菱PLC通信协议中比较常用的两种,一般我们使用比较多的是以太网通信,对于FX5U系列/Q系列/Qna系列/L系列的PLC,…

深度学习入门笔记(八)可以不断思考的模型:RNN与LSTM

8.1 循环神经网络RNN 之前学到的 CNN 和全连接,模型的输入数据之间是没有关联的,比如图像分类,每次输入的图片与图片之间就没有任何关系,上一张图片的内容不会影响到下一张图片的结果。但在自然语言处理领域,这就成了…

spring boot(2.4.x 开始)和spring cloud项目中配置文件application和bootstrap加载顺序

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 spring boot 2.4.x 版本之前通过 ConfigFileApplicationListener 加载配置 https://github.com/spring-projects/spring-boot/blob/v2.3.12.RELEASE/spring-boot-project/spring-boot/src/mai…

Redis Centos7 安装到启动

文章目录 安装Redis启动redis查看redis状况连接redis服务端 安装Redis 1.下载scl源 yum install centos-release-scl-rh2.下载redis yum install rh-redis5-redis 3. 创建软连接 1.cd /usr/bin 2. In -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server 3. …