当前位置: 首页 > news >正文

【Python基础知识四】控制语句

Python基础知识:控制语句

  • 1 条件控制
    • 1.1 if语句
    • 1.2 match...case语句
  • 2 循环语句
    • 2.1 for循环
    • 2.2 for...else语句
    • 2.3 while循环
    • 2.4 while 循环使用 else 语句
    • 2.5 无限循环
    • 2.6 break 和 continue 语句及循环中的 else 子句
      • 2.6.1 break语句
      • 2.6.2 continue语句
    • 2.7 pass 语句
  • 参考

Python控制语句主要包含顺序、选择和循环三个方面,下面主要从这三方面进行介绍。

1 条件控制

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
在这里插入图片描述
代码执行过程:
在这里插入图片描述

1.1 if语句

Python中if语句的一般形式如下所示:
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。

if condition_1:statement_block_1
elif condition_2:statement_block_2
else:statement_block_3

注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在 Python 中没有 switch…case
语句,但在 Python3.10 版本添加了 match…case,功能也类似。

以下为if中常用的操作运算符:

运算符描述示例
==是否相等a == b
!=是否不等于a != b
“>”是否大于a > b
“>=”是否大于等于a >= b
<=是否小于等于a <= b

1.2 match…case语句

Python 3.10 增加了 match…case 的条件判断,不需要再使用一连串的 if-else 来判断了。
match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切
语法格式如下:

match subject:case <pattern_1>:<action_1>case <pattern_2>:<action_2>case <pattern_3>:<action_3>case _:<action_wildcard>

case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。

2 循环语句

Python 中的循环语句有 for 和 while。
Python 循环语句的控制结构图如下所示:
在这里插入图片描述

2.1 for循环

Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:

for <variable> in <sequence>:<statements>
else:<statements>

流程图如下所示:
在这里插入图片描述

2.2 for…else语句

在 Python 中,for…else 语句用于在循环结束后执行一段代码。

语法格式如下:

for item in iterable:# 循环主体
else:# 循环结束后执行的代码

当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。

2.3 while循环

Python 中 while 语句的一般形式:

while 判断条件(condition):执行语句(statements)……

执行流程图如下:
在这里插入图片描述

同样需要注意冒号和缩进。
另外,在 Python 中没有 do…while 循环。

2.4 while 循环使用 else 语句

如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:

while <expr>:<statement(s)>
else:<additional_statement(s)>

expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。

2.5 无限循环

通过设置条件表达式永远不为 false 来实现无限循环,实例如下:

#!/usr/bin/python3var = 1
while var == 1 :  # 表达式永远为 truenum = int(input("输入一个数字  :"))print ("你输入的数字是: ", num)print ("Good bye!")

可以使用 CTRL+C 来退出当前的无限循环。
无限循环在服务器上客户端的实时请求非常有用。

2.6 break 和 continue 语句及循环中的 else 子句

2.6.1 break语句

break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
break 执行流程图:
在这里插入图片描述

2.6.2 continue语句

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
continue 执行流程图:
在这里插入图片描述

2.7 pass 语句

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句,如下实例:

while True:
...     pass  # 等待键盘中断 (Ctrl+C)

参考

1、菜鸟教程-Python3 教程

相关文章:

【Python基础知识四】控制语句

Python基础知识&#xff1a;控制语句 1 条件控制1.1 if语句1.2 match...case语句 2 循环语句2.1 for循环2.2 for...else语句2.3 while循环2.4 while 循环使用 else 语句2.5 无限循环2.6 break 和 continue 语句及循环中的 else 子句2.6.1 break语句2.6.2 continue语句 2.7 pass…...

Jmeter压测 —— 1秒发送1次请求

场景&#xff1a;有时候测试场景需要设置请求频率为一秒一次&#xff08;或几秒一次&#xff09;实现方法一&#xff1a;1、首先需要在线程组下设置循环次数&#xff08;可以理解为请求的次数&#xff09; 次数设置为请求300次&#xff0c;其中线程数跟时间自行设置 2、在设置…...

目标检测YOLO实战应用案例100讲-基于改进YOLOv4算法的自动驾驶场景 目标检测

目录 前言 国内外目标检测算法研究现状 传统目标检测算法的发展现状...

Spring Cloud智慧工地源码,利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术开发,微服务架构

智慧工地系统充分利用计算机技术、互联网、物联网、云计算、大数据等新一代信息技术&#xff0c;以PC端&#xff0c;移动端&#xff0c;设备端三位一体的管控方式为企业现场工程管理提供了先进的技术手段。让劳务、设备、物料、安全、环境、能源、资料、计划、质量、视频监控等…...

AI视频 | Runway的史诗级更新真的那么震撼吗?来看我的试用体验!

就在昨天&#xff0c;Runway&#xff0c;这个生成式AI的领头羊&#xff0c;正式在X上发布了他们史诗级更新 看下视频 【视频2】 这个确实看起来太棒了 注册个账号&#xff0c;看下效果咋样 地址百度哈&#xff0c;注册登录也比较方便 直接邮箱即可 不过我是直接google账号登录的…...

【动作模式识别】实现复合动作模式识别(离线控制模块)

一、思路 一般来说&#xff0c;要实现摸脸动作&#xff0c;需要采集手臂的以下肌肉的肌电信号&#xff1a; 肱二头肌&#xff1a;控制肘关节的屈曲肱三头肌&#xff1a;控制肘关节的伸展前臂屈肌群&#xff1a;控制手腕和手指的屈曲前臂伸肌群&#xff1a;控制手腕和手指的伸…...

Python基础学习009——类的封装

# 面向对象是一种编程思想,还有另一种是面向过程 # 面向过程,具体步骤的实现,所有功能都自己书写 # 面向对象,使用一个个工具(函数),帮助完成各项任务 # 类:对多个特性相同或相似的食物的统称,根据特征不同一个事物可以属于多个类 # 对象:由类实例化的一个事物,指代1个 # 类的组…...

前端开发和后端开发,你更倾向于哪一种?

作为一个Web开发者&#xff0c;你是否曾经面临过这样的选择&#xff1a;是专注于前端开发&#xff0c;还是转向后端开发&#xff1f;前端开发和后端开发是Web开发中的两个不同的领域&#xff0c;它们各有各的特点和优势&#xff0c;也各有各的挑战和难点。那么&#xff0c;你应…...

Selenium 基本功能

#driver.quit()from selenium import webdriver from selenium.webdriver.chrome.service import Service# 尝试传参 s Service("chromedriver.exe") driver webdriver.Chrome(services)driver.get(https://www.baidu.com/) input()#1/导入Selenium库 from seleniu…...

智能井盖传感器有哪些?万宾科技智能井盖效果

在城市治理过程之中&#xff0c;小小的井盖却成为影响民生的一个重要方面&#xff0c;因为井盖一旦出现问题&#xff0c;会严重影响市民的生命安全&#xff0c;并且传统的井盖一般都会采用人工巡检的方式&#xff0c;这就导致了巡检的难度较大&#xff0c;从而不能对城市各个角…...

视频增强和修复工具 Topaz Video AI mac中文版功能

Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频&#xff0c;包括低分辨率视频、老旧影片、手机录制的视频等。 使用Topaz Video AI非常简单&#xff0c…...

0基础学习PyFlink——使用datagen生成流式数据

大纲 可控参数字段级规则生成方式数值控制时间戳控制 表级规则生成速度生成总量 结构生成环境定义行结构定义表信息 案例随机Int型顺序Int型随机型Int数组带时间戳的多列数据 完整代码参考资料 在研究Flink的水位线&#xff08;WaterMark&#xff09;技术之前&#xff0c;我们可…...

vue使用Web Speech API实现语音播报

SpeechSynthesisUtterance对象用于表示要播放的语音内容&#xff0c;SpeechSynthesis对象则用于控制语音的播放、暂停、停止等操作。 const synth window.speechSynthesis const msg new SpeechSynthesisUtterance() // 语音播放 const playVoice (text) > {synth.canc…...

MVC5_Day1(Razor视图引擎)

MVC提供了两种不同的视图引擎&#xff1a;Razor视图引擎、Web Forms视图引擎。 1.代码表达式 1.1 转换字符&#xff1a;核心转换字符&#xff0c;用作标记<>代码之间相互转换的字符。 1.2 两种基本转换&#xff1a;代码表达式、代码块。都是求出值&#xff0c;再写入响…...

超全整理,Jmeter性能测试-脚本error报错排查/分布式压测(详全)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 性能脚本error报错…...

vscode开启emmet语法

需要在setting.json中添加配置 首先进入设置&#xff0c;然后点击右上角 Vue项目添加如下配置 "emmet.syntaxProfiles": { "vue-html": "html", "vue": "html" },React项目添加如下配置 "emmet.includeLanguages&quo…...

07、vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。

目录 问题解决&#xff1a; 问题 vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1&#xff0c;因为在此系统上禁止运行脚本。 在使用 VSCode 时&#xff0c;创建 Vue 项目报的错 创建不了 Vue 项目 解决&#xff1a; 因为在此系统上禁止运行该脚本&#xff0…...

利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码

智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术&#xff0c;提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平&#xff0c;实现工程施工可视化智能管理&#xff0c;并逐步实现绿色生态建造。 技术架构&#xff1a;微…...

海康多相机同步取流保存图片

话不多说&#xff0c;直接上代码。代码里包含了多窗口显示图像和保存图片。 #"rtsp://admin:123456qq192.168.10.192/stream1" # rtsp://admin:Admin123192.168.100.103:554/Streaming/Channels/101 #rtsp://admin:Admin123192.168.100.103:554/cam/realmonitor?ch…...

win10 + vs2017 + cmake3.17编译OSG-3.4.1

参考教程&#xff1a;https://blog.csdn.net/bailang_zhizun/article/details/120992244 1. 下载与解压 2. 修改configure 1&#xff09;Ungrouped Entries -- 》ACTUAL_3RDPARTY_DIR: 设置为&#xff1a; D:/Depend_3rd_party/OSG341/3rdParty 2&#xff09; Ungrouped E…...

【信号处理】基于高斯函数的Caputo-Fabrizio分数阶导数闭式表达式及其在信号处理中的应用附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量m…...

Vue3生态系统:打造完整的前端开发体系

Vue3生态系统&#xff1a;打造完整的前端开发体系 前言 大家好&#xff0c;我是前端老炮儿。今天咱们来聊聊Vue3的生态系统。 如果说Vue3是一辆超级跑车&#xff0c;那它的生态系统就是配套的加油站、维修站和改装厂。一个好的框架不仅要有强大的核心能力&#xff0c;还要有…...

技术从业者的时间管理:如何平衡工作、学习和生活

在敏捷开发大行其道、技术迭代日新月异的当下&#xff0c;软件测试从业者正面临着前所未有的时间压力。一边是项目交付的紧迫期限、层出不穷的缺陷排查需求&#xff0c;一边是自动化测试工具、AI测试框架等新技术的学习焦虑&#xff0c;再加上对个人生活品质的追求&#xff0c;…...

基于Arduino与V-USB打造低成本红外无线抢答器:从信号解码到HID模拟

1. 项目概述与核心思路拆解如果你是一位老师&#xff0c;或者经常组织一些需要快速抢答的互动活动&#xff0c;肯定对市面上那些动辄上千元的专业无线抢答系统望而却步。它们功能强大&#xff0c;但价格也足够“劝退”。几年前&#xff0c;我在为一所学校的科技节活动寻找低成本…...

开发小记-开发中的小随笔

1. josn字符串转换 JSON.stringify(data) 直接这样转&#xff0c;会是一整行的字符串。 JSON.stringify(data, null, 2); 这样转就会转成格式化的换行的标准json字符串&#xff0c;方便展示diff 2. 毫秒时间戳转换 需要将字符串‘2025-04-01’转换为整型时间戳&#xff0c;…...

企业号码认证服务:实现座机、手机来电显示公司名称+品牌LOGO

在如今的商业环境下&#xff0c;一通没有身份标识的电话&#xff0c;想要敲开客户的大门已经变得越来越难。反诈意识的普及&#xff0c;让人们对陌生呼叫筑起了厚厚的防御墙。许多企业在开展客户回访、售后跟进或业务接洽时&#xff0c;频繁遭遇拒接、秒挂的窘境。投入了大笔的…...

Kettle 9.3 下载安装全攻略:从官网变动的坑到Hadoop Shims的正确配置

Kettle 9.3 下载安装全攻略&#xff1a;从官网变动的坑到Hadoop Shims的正确配置 如果你最近尝试下载Kettle 9.3&#xff0c;可能会发现一个令人困惑的现象&#xff1a;按照老教程访问SourceForge上的Pentaho项目页面&#xff0c;却找不到熟悉的下载按钮。这不是你的问题&#…...

从‘均分误差’到‘功率打架’:实战中调试微电网逆变器下垂系数的避坑指南

从‘均分误差’到‘功率打架’&#xff1a;实战中调试微电网逆变器下垂系数的避坑指南 微电网系统中&#xff0c;多个分布式电源并联运行时&#xff0c;有功功率分配不均的问题如同暗礁&#xff0c;稍有不慎就会导致系统效率下降甚至设备过载。这种被工程师们戏称为"功率打…...

别再怕模型不准了!用MATLAB的musyn命令搞定鲁棒控制器设计(附D-K迭代详解)

用MATLAB的musyn命令实现工业级鲁棒控制器设计实战指南 在控制系统的实际工程应用中&#xff0c;模型不确定性就像房间里的大象——人人都知道存在&#xff0c;却常常选择忽视。直到某天&#xff0c;精心设计的控制器在真实环境中表现失常&#xff0c;工程师们才意识到那些被忽…...

从零开始用vnpy搭建你的第一个量化交易机器人(保姆级Python教程)

从零开始用vnpy搭建你的第一个量化交易机器人&#xff08;保姆级Python教程&#xff09; 第一次接触量化交易时&#xff0c;我被那些复杂的术语和代码吓得不轻。直到发现vnpy这个Python框架&#xff0c;才真正找到了入门的方向。vnpy就像是为Python开发者量身定制的量化交易工具…...