python 条件循环语句
python 条件循环语句
- 一、条件控制语句
- 1. Python3 条件控制
- 2. if 语句
- 3. if 嵌套
- 4. match...case
- 5. 注意:
- 二、循环控制语句
- 1. Python3 循环语句
- 2. while 循环
- 3. 无限循环
- 4. while 循环使用 else 语句
- 5. 简单语句组
- 6. for 语句
- 7. for...else
- 8. break 和 continue 语句及循环中的 else 子句
- 9. pass 语句
- 代码概述(条件语句)
- 代码概述(循环语句)
一、条件控制语句
1. Python3 条件控制
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
2. if 语句
Python中if语句的一般形式如下所示:if condition_1:statement_block_1elif condition_2:statement_block_2else:statement_block_3
如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
如果 "condition_1" 为False,将判断 "condition_2"
如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
如果 "condition_2" 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
3. if 嵌套
在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。
if 表达式1:语句if 表达式2:语句elif 表达式3:语句else:语句
elif 表达式4:语句
else:语句
4. 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 都无法匹配时,匹配这条,保证永远会匹配成功。
一个 case 也可以设置多个匹配条件,条件使用 | 隔开,例如:case 401|403|404:return "Not allowed"
5. 注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在 Python 中没有 switch...case 语句,但在 Python3.10 版本添加了 match...case,功能也类似。
二、循环控制语句
1. Python3 循环语句
Python 中的循环语句有 for 和 while。
2. while 循环
Python 中 while 语句的一般形式:while 判断条件(condition):执行语句(statements)……
注意:同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。
3. 无限循环
我们可以通过设置条件表达式永远不为 false 来实现无限循环,
你可以使用 CTRL+C 来退出当前的无限循环。
无限循环在服务器上客户端的实时请求非常有用。
4. while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:while <expr>:<statement(s)>else:<additional_statement(s)>expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
循环输出数字,并判断大小:
5. 简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中
6. for 语句
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:for <variable> in <sequence>:<statements>else:<statements>
7. for…else
在 Python 中,for...else 语句用于在循环结束后执行一段代码。
语法格式如下:for item in iterable:# 循环主体else:# 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
8. break 和 continue 语句及循环中的 else 子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
注意:循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
9. pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句
代码概述(条件语句)
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# @Date : 2024/3/27 15:49
# @Author : water
# @Description : 条件循环语句"""
Python3 条件控制Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。if 语句Python中if语句的一般形式如下所示:if condition_1:statement_block_1elif condition_2:statement_block_2else:statement_block_3如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句如果 "condition_1" 为False,将判断 "condition_2"如果"condition_2" 为 True 将执行 "statement_block_2" 块语句如果 "condition_2" 为False,将执行"statement_block_3"块语句Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。3、在 Python 中没有 switch...case 语句,但在 Python3.10 版本添加了 match...case,功能也类似。if 嵌套在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。if 表达式1:语句if 表达式2:语句elif 表达式3:语句else:语句elif 表达式4:语句else:语句match...casePython 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 都无法匹配时,匹配这条,保证永远会匹配成功。一个 case 也可以设置多个匹配条件,条件使用 | 隔开,例如:case 401|403|404:return "Not allowed"
"""flag = Trueif flag:print("flag is True")
else:print("flag is False")age = int(input("请输入你家狗狗的年龄: "))
print("")
if age <= 0:print("你是在逗我吧!")
elif age == 1:print("相当于 14 岁的人。")
elif age == 2:print("相当于 22 岁的人。")
elif age > 2:human = 22 + (age - 2) * 5print("对应人类年龄: ", human)# 退出提示
input("点击 enter 键退出")# 无限循环
# 该实例演示了数字猜谜游戏
number = 7
guess = -1
print("数字猜谜游戏!")
while guess != number:guess = int(input("请输入你猜的数字:"))if guess == number:print("恭喜,你猜对了!")elif guess < number:print("猜的数字小了...")elif guess > number:print("猜的数字大了...")# if嵌套num = int(input("输入一个数字:"))
if num % 2 == 0:if num % 3 == 0:print("你输入的数字可以整除 2 和 3")else:print("你输入的数字可以整除 2,但不能整除 3")
else:if num % 3 == 0:print("你输入的数字可以整除 3,但不能整除 2")else:print("你输入的数字不能整除 2 和 3")# match...case
def http_error(status):match status:case 400:return "Bad request"case 404:return "Not found"case 418:return "I'm a teapot"case 401 | 403 | 404:return "Not allowed"case _:return "Something's wrong with the internet"if __name__ == "__main__":my_status = 403print(http_error(my_status))
代码概述(循环语句)
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# @Date : 2024/3/27 15:49
# @Author : water
# @Description : 循环语句"""
Python3 循环语句Python 中的循环语句有 for 和 while。while 循环Python 中 while 语句的一般形式:while 判断条件(condition):执行语句(statements)……注意:同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。
无限循环我们可以通过设置条件表达式永远不为 false 来实现无限循环,你可以使用 CTRL+C 来退出当前的无限循环。无限循环在服务器上客户端的实时请求非常有用。
while 循环使用 else 语句如果 while 后面的条件语句为 false 时,则执行 else 的语句块。语法格式如下:while <expr>:<statement(s)>else:<additional_statement(s)>expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。循环输出数字,并判断大小:
简单语句组类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与 while 写在同一行中for 语句Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。for循环的一般格式如下:for <variable> in <sequence>:<statements>else:<statements>for...else在 Python 中,for...else 语句用于在循环结束后执行一段代码。语法格式如下:for item in iterable:# 循环主体else:# 循环结束后执行的代码当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
break 和 continue 语句及循环中的 else 子句break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。注意:循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。pass 语句Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句
"""
# 循环语句: 求和
m = 100
n = 0
sm = 0
while n <= m:sm += nn += 1
print("1 到 %d 之间的整数的和为:%d" % (m, sm))# 无限循环
while True:s = input("请输入:")if s == "q":breakprint("你输入的内容是:", s)# while 循环使用 else 语句
while True:print("请输入用户名和密码:")name = input("UserName:")password = input("Password:")if name == "admin" and password == "123456":print("登录成功!")breakelse:print("用户名或密码错误!")# 简单语句组
flag = 1
# while flag: print('欢迎访问菜鸟教程!')
print("Good bye!")# for 循环
# 整数范围值可以配合 range() 函数使用:
for i in range(5):print(i)# 列表循环
sites = ["Baidu", "Google", "Runoob", "Taobao"]
for site in sites:print(site)# 字符串循环
for i in "Runoob":print(i)# for...else
for i in range(5):print(i)
else:print("i is no longer less than 5")# 以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体,不会执行 else 子句
for i in range(5):if i == 3:breakprint(i)
else:print("i is no longer less than 5")# range() 指定区间的值:
for i in range(5, 30):if i == 15:breakprint(i)
# range() 以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
for i in range(5, 30, 3):print(i)# 步长是负数时,range() 函数的用法如下:
for i in range(30, 5, -3):print(i)# 结合 range() 和 len() 函数以遍历一个序列的索引
for i in range(len(sites)):print(i, sites[i])# break 和 continue 语句及循环中的 else 子句for i in range(10):if i == 5:breakprint(i)
else:print("i is no longer less than 5")# continue
for i in range(10):if i == 5:continueprint(i)
# pass 语句
for i in range(10):pass相关文章:
python 条件循环语句
python 条件循环语句 一、条件控制语句1. Python3 条件控制2. if 语句3. if 嵌套4. match...case5. 注意: 二、循环控制语句1. Python3 循环语句2. while 循环3. 无限循环4. while 循环使用 else 语句5. 简单语句组6. for 语句7. for...else8. break 和 continue 语…...
CIM搭建实现发送消息的效果
目录 背景过程1、下载代码2、进行配置3、直接启动项目4、打开管理界面5、启动web客户端实例项目6、发送消息 项目使用总结 背景 公司项目有许多需要发送即时消息的场景,之前一直采用的是传统的websocket连接,它会存在掉线严重,不可重连&…...
C++第十三弹---内存管理(下)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、operator new与operator delete函数 1.1、operator new与operator delete函数 2、new和delete的实现原理 2.1、内置类型 2.2、自定义类型 …...
Python爬虫学习完整版
一、什么是爬虫 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析也成为如今主流的爬取策略。 1 爬虫可以做什么 你可以爬取网络上的的图片&#…...
JavaScript中的继承方式详解
Question JavaScript实现继承的方式? 包含原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承和ES6 类继承 JavaScript实现继承的方式 在JavaScript中,实现继承的方式多种多样,每种方式都有其优势和适用场景。以下…...
Git基础(23):Git分支合并实战保姆式流程
文章目录 前言准备正常分支合并1. 创建两个不冲突分支2. 将dev合并到test 冲突分支合并1. 制造分支冲突2. 冲突合并 前言 Git分支合并操作 准备 这里先在Gitee创建了一个空仓库,方便远程查看内容。 正常分支合并 1. 创建两个不冲突分支 (1…...
为什么有些前端一直用 div 当按钮,而不是用 button?
1. HTML 中的 <div> 和 <button> 在了解为什么有些前端开发者更喜欢使用 <div> 作为按钮之前,让我们先来了解一下 <div> 和 <button> 标签在 HTML 中的作用和区别。 <div>:是 HTML 中的一个通用容器元素࿰…...
python实战之基础篇(一)
1. 注释 # coding utf-8 # 该注释放到文件第一行, 这个注释告诉python解释器该文件的编码集是UTF-82. 导入语句有三种形式 import <模块名> from <模块名> import <代码元素> from <模块名> import <代码元素> as <代码元素别名>3. 获取…...
第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(补题)
文章目录 1 日期统计2 01串的熵3 冶炼金属4 飞机降落5 接龙数列6 岛屿个数7 子串简写8 整数删除9 景区导游10 砍树 前言:时隔一年,再次做这套题(去年参赛选手),差点道心不稳T_T,故作此补题! 1 日期统计 没写出来&…...
蓝桥杯刷题--python-32
4964. 子矩阵 - AcWing题库 from collections import deque n, m, a, b map(int, input().split()) mod 998244353 nums [] for _ in range(n): nums.append(list(map(int, input().split()))) rmin [[0 for i in range(m)] for i in range(n)] rmax [[0 for i in ran…...
单例模式如何保证实例的唯一性
前言 什么是单例模式 指一个类只有一个实例,且该类能自行创建这个实例的一种创建型设计模式。使用目的:确保在整个系统中只能出现类的一个实例,即一个类只有一个对象。对于频繁使用的对象,“忽略”创建时的开销。特点:…...
IntelliJ IDE 插件开发 | (七)PSI 入门及实战(实现 MyBatis 插件的跳转功能)
系列文章 IntelliJ IDE 插件开发 |(一)快速入门IntelliJ IDE 插件开发 |(二)UI 界面与数据持久化IntelliJ IDE 插件开发 |(三)消息通知与事件监听IntelliJ IDE 插件开发 |(四)来查收…...
【教程】iOS如何抓取HTTP和HTTPS数据包经验分享
📱 在日常的App开发和研发调研中,对各类App进行深入的研究分析时,我们需要借助专业的抓包应用来协助工作。本文将介绍如何使用iOS手机抓包工具来获取HTTP和HTTPS数据包,并推荐一款实用的抓包应用——克魔助手,希望能够…...
基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告
基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…...
Spring Cloud Gateway Server MVC
之前你如果要用spring cloud gateway ,就必须是webflux 的,也就是必须是异步响应式编程。不能和spring mvc 一起使用。现在spring cloud 新出了一个可以不用webflux的gateway。 具体使用mvc的gateway步骤如下 普通的Eureka Client的项目 如果你只是想测…...
建立动态MGRE隧道的配置方法
目录 一、实验拓扑 1.1通用配置 1.1.1地址配置 1.1.2静态缺省指向R5,实现公网互通 1.1.3MGRE协议配置 1.1.4配置静态 二、Shortcut方式 三、Normal方式(非shortcut) 四、总结 一、实验拓扑 下面两种配置方法皆使用静态方式 1.1通用配…...
【MySQL】9. 内置函数
函数 1. 日期函数 获得年月日: mysql> select current_date(); ---------------- | current_date() | ---------------- | 2024-03-23 | ---------------- 1 row in set (0.00 sec)获得时分秒: mysql> select current_time(); ------------…...
芯片工程系列(5)2.5D 3D封装
0 英语缩写 硅通孔(Through Silicon Via,TSV)硅中介层(Silicon Interposer)物理气象沉淀法(Physical Vapor Deposition,PVD)DRIE、CVD、PVD、CMP等设备CoWoS(Chip on Wa…...
KubeSphere简单介绍及安装使用
KubeSphere 概述 官网地址:https://kubesphere.io/zh/ 什么是 kubesphere KubeSphere 是一个开源的多云容器管理平台,旨在简化企业级 k8s 集群的部署、管理和运维。它提供了一个可视化的管理界面,帮助用户更轻松地管理和监控 k8s 集群&…...
Java零基础-集合:Java 8新增的集合操作
哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…...
Imatest SFR模块实战:从ISO 12233测试卡到MTF指标解析
1. Imatest SFR模块入门指南 第一次接触Imatest SFR模块时,我完全被各种专业术语搞懵了。后来在实际项目中反复使用才发现,这其实就是个"相机体检仪"——通过分析ISO 12233测试卡上的斜边,就能给相机镜头做个全面体检。想象一下医生…...
别光知道Levenshtein!Python实战:用Jaro-Winkler算法搞定人名地址模糊匹配
别光知道Levenshtein!Python实战:用Jaro-Winkler算法搞定人名地址模糊匹配 在数据清洗和用户输入处理的场景中,字符串相似度计算是个绕不开的话题。当我们需要匹配"张三丰"和"张三風"时,传统的Levenshtein距离…...
百川2-13B-4bits模型微调实践:提升OpenClaw特定任务准确率
百川2-13B-4bits模型微调实践:提升OpenClaw特定任务准确率 1. 为什么需要微调百川模型? 去年冬天,当我第一次用OpenClaw自动整理电脑上的技术文档时,发现了一个尴尬的问题:模型总是把Python代码片段误判为"待办…...
Gorgonia性能优化终极指南:10个技巧让你的深度学习模型运行速度翻倍
Gorgonia性能优化终极指南:10个技巧让你的深度学习模型运行速度翻倍 【免费下载链接】gorgonia 项目地址: https://gitcode.com/gh_mirrors/gor/gorgonia Gorgonia是一个功能强大的深度学习框架,能够帮助开发者构建和训练复杂的神经网络模型。然…...
ffmpegGUI:让FFmpeg视频处理技术大众化的跨平台图形界面工具
ffmpegGUI:让FFmpeg视频处理技术大众化的跨平台图形界面工具 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI ffmpegGUI是一款基于FFmpeg核心技术开发的跨平台图形界面工具,旨在消除视频处理的技术…...
突破信息获取壁垒:智能内容解锁工具使用指南
突破信息获取壁垒:智能内容解锁工具使用指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 你是否曾遇到这样的情况:一篇专业的技术文章、一份重要的研究报告…...
STC15W4K32S4寄存器操作避坑指南:为什么你的PWM输出异常?(附完整初始化流程图)
STC15W4K32S4寄存器操作避坑指南:为什么你的PWM输出异常? 最近在调试STC15W4K32S4的PWM功能时,发现不少开发者都会遇到一些共性问题:明明按照手册配置了寄存器,PWM输出就是不稳定或者干脆没有波形。这些问题往往源于几…...
GPIO的输出输入方式总结
GPIO的四种输入方式GPIO的四种输出方式...
nli-distilroberta-base环境配置:Ubuntu/CentOS下Python依赖与端口映射设置
nli-distilroberta-base环境配置:Ubuntu/CentOS下Python依赖与端口映射设置 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务,专门用于判断两个句子之间的逻辑关系。这个轻量级模型保留了RoBERTa-base模型9…...
免费降AI vs 付费降AI:省下的钱够不够你重新查重?
选降AI工具这件事,我前后折腾了大半个月。起因很简单:论文用DeepSeek写了初稿,知网一查AI率直接飙到90%多,导师让我三天内搞定。 先说结论:免费降AI率工具能用,但别指望它帮你一步到位。 我试了五六个免费…...
