Python 流程控制语句
目录
- [条件语句 if](#条件语句 if "#%E6%9D%A1%E4%BB%B6%E8%AF%AD%E5%8F%A5-if")
- [循环语句 for](#循环语句 for "#%E5%BE%AA%E7%8E%AF%E8%AF%AD%E5%8F%A5-for")
- [循环语句 while](#循环语句 while "#%E5%BE%AA%E7%8E%AF%E8%AF%AD%E5%8F%A5-while")
- 跳转语句
- [match-case 语句](#match-case 语句 "#match-case-%E8%AF%AD%E5%8F%A5")
- 综合实战
条件语句 if
基本语法
python
if 条件:
# 条件为 True 时执行的代码
pass
if-else 结构
python
age = 20
if age >= 18:
print("成年人")
else:
print("未成年人")
if-elif-else 结构
python
score = 85
if score >= 90:
grade = "优秀"
elif score >= 80:
grade = "良好"
elif score >= 70:
grade = "中等"
elif score >= 60:
grade = "及格"
else:
grade = "不及格"
print(f"成绩等级: {grade}")
示例代码
python
# 判断正负数
num = int(input("请输入一个整数: "))
if num > 0:
print(f"{num} 是正数")
elif num < 0:
print(f"{num} 是负数")
else:
print("输入的是零")
嵌套 if 语句
python
age = 25
has_id = True
if age >= 18:
if has_id:
print("可以进入")
else:
print("请出示身份证")
else:
print("未成年人禁止入内")
三元表达式(条件表达式)
python
# 传统写法
age = 20
if age >= 18:
status = "成年"
else:
status = "未成年"
# 三元表达式(推荐)
status = "成年" if age >= 18 else "未成年"
print(status)
# 更多例子
x = 10
y = 20
max_value = x if x > y else y
print(f"较大值: {max_value}")
# 嵌套三元表达式(不推荐,降低可读性)
score = 85
result = "优秀" if score >= 90 else ("良好" if score >= 80 else "一般")
布尔值的真值测试
python
# 以下值被视为 False
print(bool(False)) # False
print(bool(None)) # False
print(bool(0)) # False
print(bool(0.0)) # False
print(bool("")) # False(空字符串)
print(bool([])) # False(空列表)
print(bool(())) # False(空元组)
print(bool({})) # False(空字典)
print(bool(set())) # False(空集合)
# 其他值都为 True
print(bool(1)) # True
print(bool("hello")) # True
print(bool([1, 2])) # True
实用技巧
python
# 检查变量是否有值
name = ""
if name:
print(f"你好, {name}")
else:
print("名字不能为空")
# 检查列表是否为空
items = []
if items:
print(f"列表有 {len(items)} 个元素")
else:
print("列表为空")
# 简化布尔判断
is_valid = True
# ❌ 不推荐
if is_valid == True:
pass
# ✅ 推荐
if is_valid:
pass
# ❌ 不推荐
if is_valid == False:
pass
# ✅ 推荐
if not is_valid:
pass
循环语句 for
基本语法
python
for 变量 in 可迭代对象:
# 循环体
pass
遍历列表
python
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# 输出:
# 我喜欢吃苹果
# 我喜欢吃香蕉
# 我喜欢吃橙子
# 我喜欢吃葡萄
遍历字符串
python
text = "Python"
for char in text:
print(char, end=" ")
# 输出: P y t h o n
range() 函数
python
# range(stop) - 从 0 到 stop-1
for i in range(5):
print(i, end=" ")
# 输出: 0 1 2 3 4
# range(start, stop) - 从 start 到 stop-1
for i in range(2, 6):
print(i, end=" ")
# 输出: 2 3 4 5
# range(start, stop, step) - 指定步长
for i in range(0, 10, 2):
print(i, end=" ")
# 输出: 0 2 4 6 8
# 倒序遍历
for i in range(5, 0, -1):
print(i, end=" ")
# 输出: 5 4 3 2 1
遍历字典
python
student = {
"name": "张三",
"age": 20,
"major": "计算机科学"
}
# 遍历键
for key in student:
print(key)
# 遍历键和值
for key, value in student.items():
print(f"{key}: {value}")
# 只遍历值
for value in student.values():
print(value)
enumerate() - 获取索引和值
python
fruits = ["苹果", "香蕉", "橙子"]
for index, fruit in enumerate(fruits):
print(f"第{index + 1}个: {fruit}")
# 输出:
# 第1个: 苹果
# 第2个: 香蕉
# 第3个: 橙子
# 自定义起始索引
for index, fruit in enumerate(fruits, start=1):
print(f"第{index}个: {fruit}")
zip() - 并行遍历
python
names = ["张三", "李四", "王五"]
ages = [20, 25, 30]
cities = ["北京", "上海", "广州"]
for name, age, city in zip(names, ages, cities):
print(f"{name}, {age}岁, 来自{city}")
# 输出:
# 张三, 20岁, 来自北京
# 李四, 25岁, 来自上海
# 王五, 30岁, 来自广州
列表推导式
python
# 传统方式
squares = []
for i in range(1, 6):
squares.append(i ** 2)
print(squares) # [1, 4, 9, 16, 25]
# 列表推导式(推荐)
squares = [i ** 2 for i in range(1, 6)]
print(squares) # [1, 4, 9, 16, 25]
# 带条件的列表推导式
even_squares = [i ** 2 for i in range(1, 11) if i % 2 == 0]
print(even_squares) # [4, 16, 36, 64, 100]
# 嵌套列表推导式
matrix = [[i * j for j in range(1, 4)] for i in range(1, 4)]
print(matrix)
# [[1, 2, 3], [2, 4, 6], [3, 6, 9]]
其他推导式
python
# 集合推导式
squares_set = {x ** 2 for x in range(-5, 6)}
print(squares_set) # {0, 1, 4, 9, 16, 25}
# 字典推导式
square_dict = {x: x ** 2 for x in range(1, 6)}
print(square_dict) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# 生成器表达式(节省内存)
square_gen = (x ** 2 for x in range(1, 1000000))
print(sum(square_gen)) # 不会创建完整的列表
循环语句 while
基本语法
python
while 条件:
# 循环体
pass
基本示例
python
# 计数循环
count = 1
while count <= 5:
print(count)
count += 1
# 输出: 1 2 3 4 5
用户输入验证
python
# 持续询问直到输入有效数据
while True:
age = input("请输入年龄: ")
if age.isdigit():
age = int(age)
if 0 < age < 150:
break
print("请输入有效的年龄!")
print(f"您的年龄是: {age}")
累加求和
python
# 计算 1 到 100 的和
total = 0
num = 1
while num <= 100:
total += num
num += 1
print(f"1 到 100 的和: {total}") # 5050
猜数字游戏
python
import random
secret_number = random.randint(1, 100)
attempts = 0
max_attempts = 7
print("=== 猜数字游戏 ===")
print(f"我想了一个 1-100 之间的数字,你有 {max_attempts} 次机会")
while attempts < max_attempts:
guess = int(input(f"\n第 {attempts + 1} 次猜测: "))
attempts += 1
if guess == secret_number:
print(f"🎉 恭喜!你在第 {attempts} 次猜对了!")
break
elif guess < secret_number:
print("太小了!")
else:
print("太大了!")
remaining = max_attempts - attempts
if remaining > 0:
print(f"还剩 {remaining} 次机会")
else:
print(f"\n😢 游戏结束!正确答案是: {secret_number}")
while-else 结构
python
# while 正常结束时执行 else
count = 1
while count <= 3:
print(count)
count += 1
else:
print("循环正常结束")
# 如果循环被 break 中断,else 不会执行
count = 1
while count <= 5:
if count == 3:
break
print(count)
count += 1
else:
print("这行不会打印")
跳转语句
break - 跳出循环
python
# 找到第一个偶数就停止
for i in range(1, 11):
if i % 2 == 0:
print(f"找到第一个偶数: {i}")
break
# 输出: 找到第一个偶数: 2
continue - 跳过本次循环
python
# 打印 1-10 的奇数
for i in range(1, 11):
if i % 2 == 0:
continue # 跳过偶数
print(i, end=" ")
# 输出: 1 3 5 7 9
pass - 占位符
python
# TODO: 稍后实现
def future_function():
pass # 占位,避免语法错误
# 在条件语句中
age = 20
if age >= 18:
pass # 暂时不处理
else:
print("未成年人")
return - 从函数返回
python
def find_first_even(numbers):
"""找到列表中的第一个偶数"""
for num in numbers:
if num % 2 == 0:
return num # 立即返回,结束函数
return None # 没有找到
result = find_first_even([1, 3, 5, 8, 9])
print(result) # 8
对比示例
python
# break vs continue vs pass
print("break 示例:")
for i in range(1, 6):
if i == 3:
break
print(i, end=" ")
# 输出: 1 2
print("\n\ncontinue 示例:")
for i in range(1, 6):
if i == 3:
continue
print(i, end=" ")
# 输出: 1 2 4 5
print("\n\npass 示例:")
for i in range(1, 6):
if i == 3:
pass # 什么都不做,继续执行
print(i, end=" ")
# 输出: 1 2 3 4 5
match-case 语句
Python 3.10+ 新增的结构化模式匹配。
基本语法
python
match 值:
case 模式1:
# 匹配模式1时执行
pass
case 模式2:
# 匹配模式2时执行
pass
case _:
# 默认情况(类似 default)
pass
简单匹配
python
day = 3
match day:
case 1:
print("星期一")
case 2:
print("星期二")
case 3:
print("星期三")
case 4:
print("星期四")
case 5:
print("星期五")
case 6 | 7: # 多个值
print("周末")
case _:
print("无效的日期")
匹配不同类型
python
def describe(value):
match value:
case int():
return f"整数: {value}"
case float():
return f"浮点数: {value}"
case str():
return f"字符串: '{value}'"
case list():
return f"列表,长度: {len(value)}"
case dict():
return f"字典,键数: {len(value)}"
case _:
return "未知类型"
print(describe(42)) # 整数: 42
print(describe(3.14)) # 浮点数: 3.14
print(describe("hello")) # 字符串: 'hello'
print(describe([1, 2, 3])) # 列表,长度: 3
解构匹配
python
# 匹配列表
def process_command(command):
match command:
case ["quit"]:
return "退出程序"
case ["help"]:
return "显示帮助信息"
case ["load", filename]:
return f"加载文件: {filename}"
case ["save", filename]:
return f"保存文件: {filename}"
case ["move", x, y]:
return f"移动到 ({x}, {y})"
case _:
return "未知命令"
print(process_command(["quit"])) # 退出程序
print(process_command(["load", "data.txt"])) # 加载文件: data.txt
print(process_command(["move", 10, 20])) # 移动到 (10, 20)
守卫条件
python
def classify_number(num):
match num:
case n if n > 0:
return "正数"
case n if n < 0:
return "负数"
case 0:
return "零"
case _:
return "无效值"
print(classify_number(5)) # 正数
print(classify_number(-3)) # 负数
print(classify_number(0)) # 零
字典匹配
python
def process_event(event):
match event:
case {"type": "click", "x": x, "y": y}:
return f"点击事件: ({x}, {y})"
case {"type": "keypress", "key": key}:
return f"按键事件: {key}"
case {"type": "resize", "width": w, "height": h}:
return f"窗口调整: {w}x{h}"
case _:
return "未知事件"
print(process_event({"type": "click", "x": 100, "y": 200}))
# 点击事件: (100, 200)
print(process_event({"type": "keypress", "key": "Enter"}))
# 按键事件: Enter
综合实战
实战1: 九九乘法表
python
print("=== 九九乘法表 ===\n")
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j:2d}", end=" ")
print() # 换行
# 输出:
# 1×1= 1
# 1×2= 2 2×2= 4
# 1×3= 3 2×3= 6 3×3= 9
# ...
实战2: ATM 模拟系统
python
import sys
# 初始账户信息
account = {
"balance": 10000,
"password": "123456",
"transactions": []
}
def show_menu():
print("\n" + "=" * 40)
print(" ATM 自动取款机")
print("=" * 40)
print("1. 查询余额")
print("2. 存款")
print("3. 取款")
print("4. 转账")
print("5. 交易记录")
print("6. 修改密码")
print("7. 退出")
print("=" * 40)
def check_balance():
print(f"\n当前余额: ¥{account['balance']:.2f}")
def deposit():
while True:
try:
amount = float(input("\n请输入存款金额: "))
if amount <= 0:
print("金额必须大于0")
continue
account["balance"] += amount
account["transactions"].append(f"存款: +¥{amount:.2f}")
print(f"存款成功!当前余额: ¥{account['balance']:.2f}")
break
except ValueError:
print("请输入有效的金额")
def withdraw():
while True:
try:
amount = float(input("\n请输入取款金额: "))
if amount <= 0:
print("金额必须大于0")
continue
if amount > account["balance"]:
print(f"余额不足!当前余额: ¥{account['balance']:.2f}")
continue
account["balance"] -= amount
account["transactions"].append(f"取款: -¥{amount:.2f}")
print(f"取款成功!当前余额: ¥{account['balance']:.2f}")
break
except ValueError:
print("请输入有效的金额")
def transfer():
while True:
target = input("\n请输入收款人账号: ")
if not target:
print("账号不能为空")
continue
break
while True:
try:
amount = float(input("请输入转账金额: "))
if amount <= 0:
print("金额必须大于0")
continue
if amount > account["balance"]:
print(f"余额不足!当前余额: ¥{account['balance']:.2f}")
continue
account["balance"] -= amount
account["transactions"].append(f"转账给{target}: -¥{amount:.2f}")
print(f"转账成功!当前余额: ¥{account['balance']:.2f}")
break
except ValueError:
print("请输入有效的金额")
def show_transactions():
if not account["transactions"]:
print("\n暂无交易记录")
else:
print("\n=== 交易记录 ===")
for i, trans in enumerate(account["transactions"], 1):
print(f"{i}. {trans}")
def change_password():
old_pwd = input("\n请输入原密码: ")
if old_pwd != account["password"]:
print("原密码错误")
return
while True:
new_pwd = input("请输入新密码: ")
if len(new_pwd) < 6:
print("密码长度至少6位")
continue
confirm_pwd = input("请确认新密码: ")
if new_pwd != confirm_pwd:
print("两次输入的密码不一致")
continue
account["password"] = new_pwd
print("密码修改成功!")
break
# 登录
print("欢迎使用 ATM 系统")
max_attempts = 3
attempts = 0
while attempts < max_attempts:
password = input("请输入密码: ")
if password == account["password"]:
print("登录成功!")
break
attempts += 1
remaining = max_attempts - attempts
if remaining > 0:
print(f"密码错误!还剩 {remaining} 次机会")
else:
print("密码错误次数过多,卡片已锁定")
sys.exit()
# 主循环
while True:
show_menu()
choice = input("请选择操作: ")
match choice:
case "1":
check_balance()
case "2":
deposit()
case "3":
withdraw()
case "4":
transfer()
case "5":
show_transactions()
case "6":
change_password()
case "7":
print("\n感谢使用,再见!")
break
case _:
print("无效选择,请重新输入")
实战3: 学生成绩管理系统
python
students = []
def add_student():
"""添加学生"""
print("\n=== 添加学生 ===")
name = input("姓名: ")
while True:
try:
score = float(input("成绩: "))
if 0 <= score <= 100:
break
print("成绩必须在 0-100 之间")
except ValueError:
print("请输入有效的数字")
student = {"name": name, "score": score}
students.append(student)
print(f"学生 {name} 添加成功!")
def show_all_students():
"""显示所有学生"""
if not students:
print("\n暂无学生数据")
return
print("\n=== 学生列表 ===")
print(f"{'序号':<6}{'姓名':<10}{'成绩':<10}{'等级':<10}")
print("-" * 40)
for i, student in enumerate(students, 1):
score = student["score"]
if score >= 90:
grade = "优秀"
elif score >= 80:
grade = "良好"
elif score >= 70:
grade = "中等"
elif score >= 60:
grade = "及格"
else:
grade = "不及格"
print(f"{i:<6}{student['name']:<10}{score:<10.1f}{grade:<10}")
# 统计信息
scores = [s["score"] for s in students]
avg_score = sum(scores) / len(scores)
max_score = max(scores)
min_score = min(scores)
print("-" * 40)
print(f"平均分: {avg_score:.1f}")
print(f"最高分: {max_score:.1f}")
print(f"最低分: {min_score:.1f}")
print(f"总人数: {len(students)}")
def search_student():
"""搜索学生"""
name = input("\n请输入要搜索的姓名: ")
found = [s for s in students if name in s["name"]]
if not found:
print(f"未找到包含 '{name}' 的学生")
else:
print(f"\n找到 {len(found)} 个结果:")
for student in found:
print(f" {student['name']}: {student['score']}分")
def delete_student():
"""删除学生"""
name = input("\n请输入要删除的学生姓名: ")
original_count = len(students)
students[:] = [s for s in students if s["name"] != name]
if len(students) < original_count:
print(f"已删除学生: {name}")
else:
print(f"未找到学生: {name}")
def sort_students():
"""排序学生"""
print("\n1. 按成绩升序")
print("2. 按成绩降序")
print("3. 按姓名排序")
choice = input("请选择: ")
match choice:
case "1":
students.sort(key=lambda s: s["score"])
print("已按成绩升序排列")
case "2":
students.sort(key=lambda s: s["score"], reverse=True)
print("已按成绩降序排列")
case "3":
students.sort(key=lambda s: s["name"])
print("已按姓名排序")
case _:
print("无效选择")
def main():
"""主函数"""
while True:
print("\n" + "=" * 40)
print(" 学生成绩管理系统")
print("=" * 40)
print("1. 添加学生")
print("2. 查看所有学生")
print("3. 搜索学生")
print("4. 删除学生")
print("5. 排序")
print("6. 退出")
print("=" * 40)
choice = input("请选择操作: ")
match choice:
case "1":
add_student()
case "2":
show_all_students()
case "3":
search_student()
case "4":
delete_student()
case "5":
sort_students()
case "6":
print("\n感谢使用,再见!")
break
case _:
print("无效选择,请重新输入")
if __name__ == "__main__":
main()
实战4: 文本冒险游戏
python
import random
def show_intro():
"""显示游戏介绍"""
print("\n" + "=" * 50)
print(" 神秘森林探险")
print("=" * 50)
print("你迷失在一片神秘的森林中...")
print("你需要找到出路并收集宝藏!")
print("=" * 50)
def create_player():
"""创建玩家"""
player = {
"health": 100,
"attack": 10,
"gold": 0,
"inventory": [],
"position": "入口"
}
return player
def show_status(player):
"""显示玩家状态"""
print(f"\n生命值: {player['health']}")
print(f"攻击力: {player['attack']}")
print(f"金币: {player['gold']}")
print(f"位置: {player['position']}")
if player['inventory']:
print(f"背包: {', '.join(player['inventory'])}")
else:
print("背包: 空")
def encounter_monster(player):
"""遭遇怪物"""
monsters = [
{"name": "哥布林", "health": 30, "attack": 5, "gold": 10},
{"name": "野狼", "health": 40, "attack": 8, "gold": 15},
{"name": "巨魔", "health": 60, "attack": 12, "gold": 25},
]
monster = random.choice(monsters)
print(f"\n⚠️ 遭遇了 {monster['name']}!")
while monster["health"] > 0 and player["health"] > 0:
print(f"\n{monster['name']} 生命值: {monster['health']}")
print("1. 攻击")
print("2. 逃跑")
choice = input("选择行动: ")
if choice == "1":
# 玩家攻击
damage = player["attack"] + random.randint(-2, 2)
monster["health"] -= damage
print(f"你对 {monster['name']} 造成了 {damage} 点伤害")
if monster["health"] <= 0:
print(f"🎉 你击败了 {monster['name']}!")
player["gold"] += monster["gold"]
print(f"获得 {monster['gold']} 金币")
# 随机掉落物品
if random.random() < 0.3:
items = ["生命药水", "攻击药水", "魔法卷轴"]
item = random.choice(items)
player["inventory"].append(item)
print(f"获得物品: {item}")
break
# 怪物反击
monster_damage = monster["attack"] + random.randint(-1, 1)
player["health"] -= monster_damage
print(f"{monster['name']} 对你造成了 {monster_damage} 点伤害")
elif choice == "2":
if random.random() < 0.5:
print("逃跑成功!")
return
else:
print("逃跑失败!")
monster_damage = monster["attack"]
player["health"] -= monster_damage
print(f"{monster['name']} 对你造成了 {monster_damage} 点伤害")
else:
print("无效选择")
if player["health"] <= 0:
print("\n💀 你被击败了... 游戏结束")
return False
return True
def find_treasure(player):
"""发现宝藏"""
treasures = [
{"name": "金币袋", "gold": 50},
{"name": "宝石", "gold": 100},
{"name": "古老金币", "gold": 200},
]
treasure = random.choice(treasures)
print(f"\n💎 你发现了 {treasure['name']}!")
player["gold"] += treasure["gold"]
print(f"获得 {treasure['gold']} 金币")
def rest(player):
"""休息恢复"""
heal = random.randint(10, 20)
player["health"] = min(100, player["health"] + heal)
print(f"\n你休息了一会儿,恢复了 {heal} 点生命值")
print(f"当前生命值: {player['health']}")
def explore(player):
"""探索"""
locations = ["密林深处", "古老遗迹", "神秘洞穴", "清澈溪流", "高山之巅"]
events = ["monster", "treasure", "nothing", "rest"]
location = random.choice(locations)
player["position"] = location
print(f"\n你来到了: {location}")
event = random.choice(events)
match event:
case "monster":
return encounter_monster(player)
case "treasure":
find_treasure(player)
case "rest":
rest(player)
case _:
print("这里什么都没有...")
return True
def main():
"""主游戏循环"""
show_intro()
player = create_player()
while player["health"] > 0:
show_status(player)
print("\n=== 行动选择 ===")
print("1. 探索")
print("2. 查看状态")
print("3. 退出游戏")
choice = input("请选择: ")
match choice:
case "1":
if not explore(player):
break
case "2":
show_status(player)
case "3":
print("\n感谢游玩!")
break
case _:
print("无效选择")
# 检查胜利条件
if player["gold"] >= 500:
print("\n🎊 恭喜!你收集了足够的宝藏,成功逃离森林!")
print(f"最终得分: {player['gold']} 金币")
break
if player["health"] <= 0:
print("\n游戏结束")
else:
print(f"\n最终状态 - 金币: {player['gold']}, 生命值: {player['health']}")
if __name__ == "__main__":
main()
常见错误与注意事项
1. 缩进错误
python
# ❌ 错误:缩进不一致
if True:
print("hello") # IndentationError
# ✅ 正确:统一使用 4 个空格
if True:
print("hello")
2. 无限循环
python
# ❌ 危险:忘记更新循环变量
# count = 1
# while count <= 5:
# print(count)
# # 忘记 count += 1
# ✅ 正确:确保循环会终止
count = 1
while count <= 5:
print(count)
count += 1
3. for 循环中修改列表
python
# ❌ 危险:遍历时修改列表
numbers = [1, 2, 3, 4, 5]
for num in numbers:
if num % 2 == 0:
numbers.remove(num) # 可能导致跳过元素
print(numbers) # [1, 3, 5] 或 [1, 3, 4, 5](不确定)
# ✅ 正确:创建新列表
numbers = [1, 2, 3, 4, 5]
numbers = [num for num in numbers if num % 2 != 0]
print(numbers) # [1, 3, 5]
# ✅ 或者反向遍历
numbers = [1, 2, 3, 4, 5]
for num in reversed(numbers):
if num % 2 == 0:
numbers.remove(num)
4. else 子句的理解
python
# for/while 的 else 在循环正常结束时执行(未被 break 中断)
for i in range(5):
if i == 10:
break
else:
print("循环正常结束") # 会打印
# 常用于搜索场景
numbers = [1, 3, 5, 7, 9]
search = 4
for num in numbers:
if num == search:
print(f"找到 {search}")
break
else:
print(f"{search} 不在列表中") # 会打印
5. range() 的范围
python
# range(5) 生成 0, 1, 2, 3, 4(不包含 5)
for i in range(5):
print(i, end=" ")
# 输出: 0 1 2 3 4
# 如果要包含 5,使用 range(6)
for i in range(6):
print(i, end=" ")
# 输出: 0 1 2 3 4 5
小结
| 语句类型 | 用途 | 关键字 |
|---|---|---|
| 条件语句 | 根据条件执行不同代码 | if, elif, else |
| for 循环 | 遍历可迭代对象 | for, in |
| while 循环 | 条件满足时重复执行 | while |
| 跳转语句 | 控制循环流程 | break, continue, pass |
| 模式匹配 | 结构化模式匹配 | match, case |
核心要点:
- if-elif-else 用于多分支选择
- for 适合已知次数的循环
- while 适合未知次数的循环
- break 跳出循环,continue 跳过本次
- 列表推导式简洁高效
- match-case 使复杂条件更清晰
- 注意缩进和循环终止条件
掌握流程控制是编写复杂程序的基础!