流程控制语句
-
- 前言
- [1. 流程控制语句](#1. 流程控制语句)
-
- [1.1 if 语句](#1.1 if 语句)
-
- [1.1.1 定义](#1.1.1 定义)
- [1.1.2 代码示例](#1.1.2 代码示例)
- [1.1.3 注意事项](#1.1.3 注意事项)
- [1.2 if...else 语句](#1.2 if...else 语句)
-
- [1.2.1 定义](#1.2.1 定义)
- [1.2.2 代码示例](#1.2.2 代码示例)
- [1.2.3 注意事项](#1.2.3 注意事项)
- [1.3 if...elif...else](#1.3 if...elif...else)
-
- [1.3.1 定义](#1.3.1 定义)
- [1.3.2 代码示例](#1.3.2 代码示例)
- [1.3.3 注意事项](#1.3.3 注意事项)
- [1.4 match...case 语句](#1.4 match...case 语句)
-
- [1.4.1 定义](#1.4.1 定义)
- [1.4.2 代码示例](#1.4.2 代码示例)
- [2. 循环语句](#2. 循环语句)
-
- [2.1 while 循环语句](#2.1 while 循环语句)
-
- [2.1.1 定义](#2.1.1 定义)
- [2.1.2 代码示例](#2.1.2 代码示例)
- [2.1.3 注意事项](#2.1.3 注意事项)
- [2.2 for 循环](#2.2 for 循环)
-
- [2.2.1 定义](#2.2.1 定义)
- [2.2.2 代码示例](#2.2.2 代码示例)
- [2.2.3 注意事项](#2.2.3 注意事项)
- [2.3 range 语句](#2.3 range 语句)
-
- [2.3.1 定义](#2.3.1 定义)
- [2.3.2 代码示例](#2.3.2 代码示例)
- [2.4 break 语句](#2.4 break 语句)
-
- [2.4.1 定义](#2.4.1 定义)
- [2.4.2 代码示例](#2.4.2 代码示例)
- [2.5 嵌套循环](#2.5 嵌套循环)
-
- [2.5.1 定义](#2.5.1 定义)
- [2.5.2 代码示例:九九乘法表](#2.5.2 代码示例:九九乘法表)
- [2.5.3 综合案例:猜数字](#2.5.3 综合案例:猜数字)
- 结语

🎬 博主名称: 超级苦力怕
🔥 个人专栏: 《Python 基础》
🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!
前言
本文主要内容:Python 流程控制和循环的核心概念 ,包含 if、match...case 控制语句,for、while 循环语句,以及像 range 这样的内置函数。
1. 流程控制语句
在 Python 语言基础中,流程控制语句主主要包括 if 语句、if...else 语句、if...elif...else 语句 构成,他们主要进行条件判断。
1.1 if 语句
1.1.1 定义
if 语句用来做条件判断,只有满足指定条件,才会执行对应的代码,基本语法如下。
python
# if 语句
if 要判断的条件: # 判断条件的结果会被解释为布尔值(True 或 False)
条件成立时,要执行对应操作1 # 如果为 True,则执行 if 下的语句
1.1.2 代码示例
如果我有两百块钱以上,我就吃一顿好的。
python
# 定义变量
money = 300
# 条件判断
if money > 200:
print("吃一顿好的")
1.1.3 注意事项
- 判断条件的结果会被解释为布尔值(True 或 False)
- 判断条件后需要加冒号
- if 语句里的代码块,需要在前面缩进空格(建议四个空格),用来描述代码关系层级
1.2 if...else 语句
1.2.1 定义
if...else 语句中,当 if 条件不成立时,else对应的语句内容将会执行,基本语法如下
python
if 要判断的条件:
条件成立时,执行对应的操作1
else: # 当上述条件不成立时,执行else
条件不成立时,执行的操作2
1.2.2 代码示例
如果我有两百块钱以上,我就吃一顿好的,否则就吃一份快餐。
python
# 定义变量
money = 300
# 条件判断
if money > 200:
print("吃一顿好的")
else:
print("吃一顿快餐")
1.2.3 注意事项
- else 是不需要条件判断的,当 if 条件不成立时,else 就执行了。
- else 代码块,也需要使用空格缩进(建议4个空格)。
1.3 if...elif...else
1.3.1 定义
if...elif...else 可以判断多种情况,其中 elif 可以写多个,基本语法如下
注意:满足第1个条件,就不会判断下面的部分,当第1个条件不成立时,才会判断第2个条件,当上述条件都不成立,才会进入else。
python
if 要判断的条件1: # 如果成立,执行对应操作1,下述语句不执行
条件成立时,执行对应操作1
elif 要判断的条件2: # 如果上述条件不成立,判断该条件是否成立
条件成立时,执行对应操作2,下述判断语句不执行
elif 要判断的条件3:
条件成立时,执行对应操作3,下述判断语句不执行
....
else: # 如果上述条件皆不成立,执行该操作
条件不成立时,执行对应操作
1.3.2 代码示例
如果我有两百块钱以上,我就吃一顿好的,如果我有100元,我就吃快餐,如果我100元都没有,我省钱吃两个馒头。
python
# 定义变量
money = 300
# 条件判断
if money > 200:
print("吃一顿好的")
elif money >=100:
print("吃一顿快餐")
else:
print("吃馒头")
1.3.3 注意事项
- elif 可以写多个
- else 可有可无,必须放在最后
- 多个条件判断是有顺序的,从上到下判断,如果前面有条件成立了,后面的条件就不会判断了
1.4 match...case 语句
1.4.1 定义
这是一个结构模式匹配,即用一个清晰的 模板 去准确的匹配数据的结构和内容,匹配成功则执行相应的操作,基本语法如下。
python
match 目标值: # 这里指定一个目标值,与下面一一匹配
case 对应值1: # 匹配正确,则执行内容,不会继续匹配
执行内容1
case 对应值2:
执行内容2
...
case _: # 当上述匹配都失败时,执行该内容
执行内容
1.4.2 代码示例
首先计算 match 指定的表达式的值,从上到下依次和 case 后面的值匹配,匹配正确,就执行对应语句,如果前面都没有匹配上,就会执行默认的 case _
python
# 工作日程安排
day = input("请输入星期几(1-7): ")
match day:
case "1":
print("周一: 工作会议日")
case "2":
print("周二: 学习培训日")
case "3":
print("周三: 项目开发日")
case "4":
print("周四: 代码审查日")
case "5":
print("周五: 总结规划日")
case "6" | "7": # 这里表示或的关系,匹配多个模式中任意一个,可以参考 or
print("周末: 休息放松")
case _:
print("输入错误")
2. 循环语句
2.1 while 循环语句
2.1.1 定义
while 循环是通过条件表达式,来控制是否要进入下一个循环,基础语法结构如下
python
while 条件表达式: # 每次循环会判断是否满足条件,满足则将循环体语句全部执行,进入下一次循环
循环体语句1
循环体语句2
...
else: # else 可有可无,如果写了,当条件为 False 时执行
语句
2.1.2 代码示例
打印10遍 "我学Python"
python
i = 0
while i < 10:
print("我学Python")
i += 1
else:
print("循环正常结束,执行完毕")
2.1.3 注意事项
- 条件表达式的结果为布尔类型
- 通过空格缩进描述层级关系
- 规划好循环终止的条件,否则将无限循环(又称死循环)
- 在Python中,True 和 False 首字母需要大写,这与某些语言(如Java 的 true/false)不同。
2.2 for 循环
2.2.1 定义
for 循环 是一种 轮询遍历 机制,对一批内容进行逐个处理,基本语法如下
python
# for循环结构
for 元素 in 待处理数据集:
循环代码(对元素处理)
else: # 可选可不选
循环结束时,执行的代码
2.2.2 代码示例
遍历字符串"Python"
python
# 定义要遍历的字符串
msg = "Python"
# 遍历字符串,并处理
for i in msg:
print(i)
else:
print("循环结束")
2.2.3 注意事项
for 循环 与 while 循环使用场景如下:
- while循环:用于某个条件满足时一直循环,循环的次数未知,只知道循环开始/结束的条件(关注的是循环的条件)
- for循环:用于对一个已知的数据集进行遍历或已知次数的循环(关注的是遍历的对象)
2.3 range 语句
2.3.1 定义
range 语句用于生成指定规则的数字序列,它可以取连续的数字,他有三种用法,分别有不同的效果:
range(end):获取一个从0开始,到 end 结束的数字序列 (不含 end 本身)range(start,end):获取一个从 start 开始,到 end 结束的数字序列(不含 end 本身)range(start,end,step):获取一个从 start 开始,到 end 结束的数字序列,step 为步长(不含 end 本身)
2.3.2 代码示例
计算 1 到 100 之间所有奇数之和
python
# 案例:计算 1-100 之间所有的奇数之和
total = 0 # 记录累加之和
for i in range(1, 101):
if i % 2 == 1: # 奇数
total += i
print("1-100之间的奇数累加之和:", total)
2.4 break 语句
2.4.1 定义
break 用于跳出当前循环(不管是 for 循环还是 while 循环),不再执行循环中剩下的代码
注意:只是跳出当前循环,如果有嵌套循环,只跳出最内层的循环
2.4.2 代码示例
找出第一个能被3整除的数,当找到后,程序终止。
python
numbers = [4, 7, 8, 9, 10, 11, 12]
for num in numbers:
if num % 3 == 0:
print(f"第一个能被3整除的数是: {num}")
break
2.5 嵌套循环
2.5.1 定义
循环是可以嵌套的,外层循环循环一次,内层循环就要循环n次,基本语法如下
可以参考时钟,他就像一个三层循环,时钟循环一次,分钟就要循环60次,秒钟就要循环3600次
python
for 元素 in 待处理数据集1:
循环体代码1
循环体代码2
...
for 元素 in 待处理数据集2:
循环体的代码1
循环体的代码2
...
2.5.2 代码示例:九九乘法表
打印九九乘法表
思路 :我们可以一行一行打印,外层循环控制行数,内层循环控制列数
拓展 :print("*",end=" "),其中 end 表示的是每一次输出什么结束,默认为\n,也就是换行
python
for i in range(1, 10): # 控制行数,从 1 到 9
for j in range(1, i + 1): # 控制列数,每行列数不超过当前行数
print(f"{j}*{i}={i*j}", end="\t") # 打印乘法表达式,用制表符分隔
print() # 每行结束后换行
2.5.3 综合案例:猜数字
在循环中,我们可以通过True,让循环一直执行,也可以通过 break 跳出,通过这个原理,我们可以进行猜数字(随机一个1~100的数,当你猜大或小,会有提示,直到猜对终止)
python
import random
random_number = random.randint(1, 100)
while True:
num = int(input("请输入你猜的数字: "))
if num > random_number:
print("你猜的数字太大了")
elif num < random_number:
print("你猜的数字太小了")
else:
print("恭喜你,猜对了")
break
结语
本文带你认识了Python中的条件判断语句if、if...else、if...elif...else,掌握了match...case模式匹配的基本用法,学会了使用while循环、for循环和range生成数字序列,以及用break提前终止循环。
- 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学 Python 的同学看到。
- 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
- 想系统看更多内容:可以关注专栏《Python 基础》,一起把基础打牢。
