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

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. 注意&#xff1a; 二、循环控制语句1. Python3 循环语句2. while 循环3. 无限循环4. while 循环使用 else 语句5. 简单语句组6. for 语句7. for...else8. break 和 continue 语…...

CIM搭建实现发送消息的效果

目录 背景过程1、下载代码2、进行配置3、直接启动项目4、打开管理界面5、启动web客户端实例项目6、发送消息 项目使用总结 背景 公司项目有许多需要发送即时消息的场景&#xff0c;之前一直采用的是传统的websocket连接&#xff0c;它会存在掉线严重&#xff0c;不可重连&…...

C++第十三弹---内存管理(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、operator new与operator delete函数 1.1、operator new与operator delete函数 2、new和delete的实现原理 2.1、内置类型 2.2、自定义类型 …...

Python爬虫学习完整版

一、什么是爬虫 网络爬虫&#xff0c;是一种按照一定规则&#xff0c;自动抓取互联网信息的程序或者脚本。由于互联网数据的多样性和资源的有限性&#xff0c;根据用户需求定向抓取相关网页并分析也成为如今主流的爬取策略。 1 爬虫可以做什么 你可以爬取网络上的的图片&#…...

JavaScript中的继承方式详解

Question JavaScript实现继承的方式&#xff1f; 包含原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承和ES6 类继承 JavaScript实现继承的方式 在JavaScript中&#xff0c;实现继承的方式多种多样&#xff0c;每种方式都有其优势和适用场景。以下…...

Git基础(23):Git分支合并实战保姆式流程

文章目录 前言准备正常分支合并1. 创建两个不冲突分支2. 将dev合并到test 冲突分支合并1. 制造分支冲突2. 冲突合并 前言 Git分支合并操作 准备 这里先在Gitee创建了一个空仓库&#xff0c;方便远程查看内容。 正常分支合并 1. 创建两个不冲突分支 &#xff08;1&#xf…...

为什么有些前端一直用 div 当按钮,而不是用 button?

1. HTML 中的 <div> 和 <button> 在了解为什么有些前端开发者更喜欢使用 <div> 作为按钮之前&#xff0c;让我们先来了解一下 <div> 和 <button> 标签在 HTML 中的作用和区别。 <div>&#xff1a;是 HTML 中的一个通用容器元素&#xff0…...

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 砍树 前言&#xff1a;时隔一年&#xff0c;再次做这套题(去年参赛选手)&#xff0c;差点道心不稳T_T&#xff0c;故作此补题&#xff01; 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…...

单例模式如何保证实例的唯一性

前言 什么是单例模式 指一个类只有一个实例&#xff0c;且该类能自行创建这个实例的一种创建型设计模式。使用目的&#xff1a;确保在整个系统中只能出现类的一个实例&#xff0c;即一个类只有一个对象。对于频繁使用的对象&#xff0c;“忽略”创建时的开销。特点&#xff1a…...

IntelliJ IDE 插件开发 | (七)PSI 入门及实战(实现 MyBatis 插件的跳转功能)

系列文章 IntelliJ IDE 插件开发 |&#xff08;一&#xff09;快速入门IntelliJ IDE 插件开发 |&#xff08;二&#xff09;UI 界面与数据持久化IntelliJ IDE 插件开发 |&#xff08;三&#xff09;消息通知与事件监听IntelliJ IDE 插件开发 |&#xff08;四&#xff09;来查收…...

【教程】iOS如何抓取HTTP和HTTPS数据包经验分享

&#x1f4f1; 在日常的App开发和研发调研中&#xff0c;对各类App进行深入的研究分析时&#xff0c;我们需要借助专业的抓包应用来协助工作。本文将介绍如何使用iOS手机抓包工具来获取HTTP和HTTPS数据包&#xff0c;并推荐一款实用的抓包应用——克魔助手&#xff0c;希望能够…...

基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告

基于javaweb(springboot)汽车配件管理系统设计和实现以及文档报告 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…...

Spring Cloud Gateway Server MVC

之前你如果要用spring cloud gateway &#xff0c;就必须是webflux 的&#xff0c;也就是必须是异步响应式编程。不能和spring mvc 一起使用。现在spring cloud 新出了一个可以不用webflux的gateway。 具体使用mvc的gateway步骤如下 普通的Eureka Client的项目 如果你只是想测…...

建立动态MGRE隧道的配置方法

目录 一、实验拓扑 1.1通用配置 1.1.1地址配置 1.1.2静态缺省指向R5&#xff0c;实现公网互通 1.1.3MGRE协议配置 1.1.4配置静态 二、Shortcut方式 三、Normal方式&#xff08;非shortcut&#xff09; 四、总结 一、实验拓扑 下面两种配置方法皆使用静态方式 1.1通用配…...

【MySQL】9. 内置函数

函数 1. 日期函数 获得年月日&#xff1a; mysql> select current_date(); ---------------- | current_date() | ---------------- | 2024-03-23 | ---------------- 1 row in set (0.00 sec)获得时分秒&#xff1a; mysql> select current_time(); ------------…...

芯片工程系列(5)2.5D 3D封装

0 英语缩写 硅通孔&#xff08;Through Silicon Via&#xff0c;TSV&#xff09;硅中介层&#xff08;Silicon Interposer&#xff09;物理气象沉淀法&#xff08;Physical Vapor Deposition&#xff0c;PVD&#xff09;DRIE、CVD、PVD、CMP等设备CoWoS&#xff08;Chip on Wa…...

KubeSphere简单介绍及安装使用

KubeSphere 概述 官网地址&#xff1a;https://kubesphere.io/zh/ 什么是 kubesphere KubeSphere 是一个开源的多云容器管理平台&#xff0c;旨在简化企业级 k8s 集群的部署、管理和运维。它提供了一个可视化的管理界面&#xff0c;帮助用户更轻松地管理和监控 k8s 集群&…...

Java零基础-集合:Java 8新增的集合操作

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...