1209 字
3 分钟
Python核心语法02-流程控制语句
1. 条件判断
在Python中,代码默认是从上往下逐行执行的。但在实际场景中,我们经常需要根据不同的条件来决定是否执行某段代码,这就需要用到条件判断语句。
1.1. if语句基本格式
if 语句用于条件判断:只有满足指定条件(判断结果为 True),才会执行对应的代码逻辑。
1.1.1. 语法格式
if 要判断的条件: 条件成立时,要执行对应的操作1 条件成立时,要执行对应的操作21.1.2. 注意事项
- 判断条件的结果一定要是布尔类型。
- 不要忘记判断条件后的冒号 (:)。
if语句里面的代码块,需要在前方缩进空格(建议4个空格),通过缩进来描述代码的层级关系(归属)。
1.1.3. 案例演示
# 定义变量score = 695
# 条件判断if score > 680: print("欢迎你, 来清华读书")1.2. if…else语句
如果条件成立执行操作1,否则执行操作2。
1.2.1. 语法格式
if 要判断的条件: 条件成立时,执行对应的操作1else: 条件不成立时,执行的操作21.2.2. 注意事项
else是不需要条件判断的,当if条件不成立时,else就执行了。else代码块,也需要使用空格缩进(建议4个空格)。
1.2.3. 案例演示
account = input("请输入B站账号:")password = input("请输入B站密码:")
if account == "18888888888" and password == "666888": print("登录成功 ~") print("进入B站首页 ~")else: print("登录失败 !") print("用户名或密码错误 !")1.3. if…elif…else语句
if...elif...else 语句的作用是可以完成多个条件的判断(多分支判断)。
1.3.1. 语法格式
if 要判断的条件1: 条件成立时,执行对应的操作1elif 要判断的条件2: 条件成立时,执行对应的操作2else: 条件不成立时,执行的操作31.3.2. 注意事项
elif可以写多个。else可有可无,如果有必须放在最后。- 多个条件判断是有顺序的,从上到下判断,如果前面有条件成立了,后面的条件不会判断了。
1.3.3. 案例演示
num = int(input("请输入数字:"))
if num > 0: print(f"{num} 是 正数")elif num < 0: print(f"{num} 是 负数")else: print(f"{num} 是 0")1.4. 案例实操
1.4.1. 案例1
三角形类型判断:根据输入的三个边的边长(正整数),判定是等边三角形、等腰三角形、普通三角形,还是不能构成三角形。
构成三角形的条件:两边之和大于第三边
三角形判定规则:
- 三个边都相等: 等边三角形
- 两个边相等: 等腰三角形
- 三个边都不相等: 普通三角形
a, b, c = list(map(int, input().split()))
if a + b <= c or a + c <= b or b + c <= a: print("无法构成三角形")else: # 可以构成三角形 if a == b == c: print("等边三角形") elif a == b or b == c or a == c: print("等腰三角形") else: print("一般三角形")2. 模式匹配 (match…case)
结构模式匹配就是用一个清晰的模板去精准的匹配数据的结构和内容,匹配成功则执行响应的操作。基于某个变量的多个固定值进行分支判断时,可以使用match模式匹配。这是3.10版本中的新语法。
2.1. 语法格式
match 表达式: case 值1: 操作1 case 值2 if 条件表达式: 操作2 case 值3 | 值4 : 操作4 case _: 默认操作|表示或的关系,匹配多个模式中的任意一个。case _匹配其他所有情况。
2.2. 执行流程
- 首先计算
match指定的表达式的值。 - 从上到下依次和
case后面的值进行匹配,匹配正确,就执行对应语句。 - 如果前面所有的
case都没有匹配上,就会执行默认的case _。
3. 循环
循环就是重复的执行某件事情。分为 while 循环和 for 循环。
3.1. while循环
while 循环是通过条件表达式,来控制是否要进行下一次循环。
3.1.1. 语法格式
while 条件表达式: 循环体语句1 ...else: 条件为False,循环正常结束时执行3.1.2. 注意事项
- 条件表达式的结果为布尔类型。
- 通过空格缩进表述层级关系。
- 规划好循环终止的条件,否则将无限循环(死循环)。
3.2. for循环
while 循环用于在某个条件满足时一直循环,循环的次数通常是未知的。而 for 循环本质是一种轮询遍历机制,对一批内容进行逐个处理。用于对一个已知的数据集进行遍历或已知次数的循环。
3.2.1. 语法格式
for 元素 in 待处理数据集: 循环体代码(对元素进行处理)else: 循环结束时, 执行的代码3.3. range语句
range 语句作用是生成指定规则的数字序列。
| 用法 | 说明 | 示例 |
|---|---|---|
range(end) | 获取一个从0开始,到end结束的数字序列(不含end本身) | range(5) 获取的数据就是 0,1,2,3,4 |
range(start, end) | 获取一个从start开始,到end结束的数字序列(不含end本身) | range(2,8) 获取的数据就是 2,3,4,5,6,7 |
range(start, end, step) | 获取一个从start开始,到end结束的数字序列,step步长(不含end本身) | range(0,10,2) 获取的数据就是 0,2,4,6,8 |
3.4. 嵌套循环与控制关键字
嵌套循环语法格式为在外层循环结构内包含内层循环结构。
break关键字:不能够单独书写,只能出现循环中,表示结束、跳出的意思。continue关键字:不能够单独书写,只能出现循环中,表示中断本次循环,直接进入下一次循环。
3.5. 案例实操
3.5.1. 案例1
将1-1000之间(含1000)所有的5的倍数的数字累加起来。
cnt = 0for i in range(0, 1001, 5): cnt += i
print(cnt) # 输出: 1005003.5.2. 案例2
统计字符串 “akiwksjakdiklowiqaamnvbamvaxnsjdsjkaaxkjd” 字符串中有多少个a和k。
s = "akiwksjakdiklowiqaamnvbamvaxnsjdsjkaaxkjd"cnt = 0
for c in s: if c == 'a' or c == 'k': cnt += 1
print(cnt) # 输出:14 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Python核心语法02-流程控制语句
https://www.hygen.red/posts/pylearning/001_python核心语法/002流程控制语句/ 部分信息可能已经过时
相关文章 智能推荐









