Python 的流程控制语句是编程的核心基础,通过条件判断和循环结构可以实现复杂的业务逻辑。本文将系统介绍 Python 中的条件语句、循环语句及控制关键字,帮助您构建坚实的编程基础。
文章目录
-
一、条件语句: if、elif、else)
- 1、基本语法结构
- 2、多条件判断示例
- 3、嵌套条件语句
- 4、条件表达式三目运算符
-
二、循环语句: while 和 while...else
- 1、while 循环基础
- 2、while..else 结构
- 3、无限循环与中断
-
三、循环语句: for 和 for...else
- 1、for 循环遍历序列
- 2、遍历索引与值
- 3、for...else 结构
- 4、遍历字典
-
四、循环控制关键字:break 和 continue
- 1、break 语句
- 2、continue 语句
- 3、嵌套循环中的控制
-
五、pass语句:占位符与空操作
- 1、基本用法
- 2、实际应用场景
-
六、综合示例猜数字游戏
-
七、最佳实践与注意事项
-
总结
# 一、条件语句(if、elif、else) ## 1、**单分支** **语法:**
iif 表达式:语句
示例:
if balance < price:print("余额不足,请充值")print("欢迎下次光临")
2、双分支
语法:
if 表达式:语句1
else:语句2
示例:
from random import randint# 余额
balance = randint(0, 100)# 价格
price = 50# 打印余额
print(f"余额:{balance}")# 比较余额和价格
if balance < price:# 如果余额小于价格print("余额不足,请充值")else:# 如果余额大于价格balance = balance - priceprint(f"消费成功,余额:{balance}")print("欢迎下次光临")
3、多分支
语法:
if 表达式1:语句1elif 表达式2:语句2elif 表达式3:语句3else: 语句4
示例:
from random import randint# 定义年龄并打印
print("此人年龄为", age := randint(0, 100))if age < 2:# 如果年龄<2print("这是个婴儿")elif age < 4:# 如果2<=年龄<4print("这是个幼儿")elif age < 13:# 如果4<=年龄<13print("这是个儿童")elif age < 20:# 如果13<=年龄<20print("这是个青少年")elif age < 65:# 如果20<=年龄<65print("这是个成年人")else:# 如果65<=年龄print("这是个老人")
4、嵌套分支
语法:
if 表达式1:if 表达式2:语句1else:语句2else:if 表达式3:语句3else:语句4
示例:
state = 0b011
# 判断是否为大写状态
if state & 0b100 == 0b100:# 是大写状态print("大写状态")else:# 不是大写状态# 判断是否为“简体中文-微软拼音”if state & 0b010 == 0b010:# 是“简体中文-微软拼音”# 判断是否为“微软拼音-中文”if state & 0b001 == 0b001:# 是“微软拼音-中文”print("微软拼音-中文")else:# 不是“微软拼音-中文”print("微软拼音-英文")else:# 不是“简体中文-微软拼音”print("英语-美式键盘")
5、match case 语句
语法:
match x:case a:语句1case b:语句2case _:语句3
示例:
match month := 3:case 1 | 3 | 5 | 7 | 8 | 10 | 12:print(f"{month}月有31天")case 4 | 6 | 9 | 11:print(f"{month}月有30天")case 2:print(f"{month}月可能有28天")case _:print(f"{month}月有?天")
6、三目运算符
语法:
表达式1 if 判断条件 else 表达式2
示例:
age = 20
status = "成年人" if age >= 18 else "未成年人"
print(status) # 输出:成年人
# 二、循环语句:while 和 while...else ## 1、while 循环基础 **语法:**
while 表达式:语句-循环体
示例:
count = 1
while count <= 5:print(f"当前计数: {count}")count += 1
2、while...else 结构
语法:
while 后可以加上 else,当 while 表达式结果为 False 时会执行 else 中的语句
示例:
rabbit = 2week = 1while week < 10:rabbit = rabbit + rabbit * 2week += 1else:print(f"第{week}周有{rabbit}只兔子")
3、无限循环与中断
while True:command = input("请输入命令(输入exit退出):")if command == "exit":breakelif command == "help":print("可用命令:exit, help")else:print(f"执行命令: {command}")
# 三、循环语句:for 和 for...else ## 1、for 循环遍历序列 **语法:**
for 临时变量 in 可迭代对象:语句
示例:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:print(f"水果: {fruit}")
2、遍历索引与值
names = ["Alice", "Bob", "Charlie"]
for index, name in enumerate(names, start=1):print(f"{index}: {name}")
3、for...else 结构
numbers = [2, 4, 6, 8]
for num in numbers:if num % 2 != 0:print("发现奇数,终止循环")break
else:# 循环正常结束(未通过break退出)时执行print("所有数字都是偶数")
4、遍历字典
person = {"name": "Alice", "age": 25, "city": "New York"}
for key, value in person.items():print(f"{key}: {value}")
5、range()
语法:
作用:函数可以生成数列,它返回一个可迭代对象。语法:range([start,] stop[, step])start: 生成序列的起始值--包含 默认0stop:生成序列的结束值--不包含step:生成序列的步长 默认为 1
示例:
# 指定生成数列的范围,从start到stop(不包含stop),可设定步长,默认步长为1
for i in range(10):print(i)
# 四、循环控制关键字:break 和 continue ## 1、break 语句 + 用于终止整个循环 + 常用于条件满足时提前退出循环
for num in range(1, 11):if num == 7:print("遇到7,终止循环")breakprint(num)
2、continue 语句
- 用于跳过当前迭代,继续下一次循环
- 常用于过滤特定条件
for num in range(1, 11):if num % 2 == 0:continue # 跳过偶数print(num) # 只打印奇数
3、嵌套循环中的控制
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:for num in row:if num == 5:break # 仅跳出内层循环print(num)print("行结束") # 仍然会执行
# 五、pass 语句:占位符与空操作 **语法:**
示例:
实际应用场景:
# 临时禁用代码块
for num in range(10):# TODO: 后续实现pass# 占位符示例
try:risky_operation()
except:pass # 暂时忽略异常(谨慎使用)
# 六、综合示例:猜数字游戏 ```python import random secret_number = random.randint(1, 100) attempts = 0 max_attempts = 7
print("猜数字游戏:猜一个1-100之间的数字,你有7次机会")
for attempt in range(1, max_attempts + 1):
try:
guess = int(input(f"\n尝试次数 {attempt}/{max_attempts},请输入你的猜测:"))
if guess == secret_number:
print(f"恭喜!你在第 {attempt} 次猜中了数字 {secret_number}!")
break
elif guess < secret_number:
print("太小了!")
else:
print("太大了!")
if attempt == max_attempts:
print(f"\n游戏结束!正确数字是 {secret_number}")
except ValueError:
print("请输入有效的数字!")
continue # 跳过剩余代码,继续下一次循环
<br>
# 七、最佳实践与注意事项
+ 1、**缩进规则**:Python严格依赖缩进,保持一致的缩进风格(建议4空格)
+ 2、**避免过度嵌套**:超过3层的条件/循环嵌套应考虑重构
+ 3、**循环优化**:- 在for循环中优先使用内置函数(如 `enumerate()`, `zip()`)- 避免在循环中修改被遍历的列表(推荐创建新列表)
+ 4、**else的合理使用**:- for...else 在需要检测“是否完成遍历”时非常有用- while...else 常用于输入验证场景
+ 5、**谨慎使用pass**:- 仅在开发初期作为占位符- 避免在异常处理中滥用pass(可能隐藏错误)<br>
# 总结
+ 1、**条件语句**:使用if-elif-else结构实现多分支逻辑
+ 2、**循环语句**:- while 适用于次数不确定的循环- for 适用于遍历序列或集合- ...else 结构可处理循环正常完成的情况
+ 3、**控制关键字**:- break 终止整个循环- continue 跳过当前迭代- pass 作为占位符实现语法要求