第四章:流程控制
条件判断 if/elif/else
生活中我们时刻在做判断:"如果下雨,就带伞;否则就戴帽子。" Python 的 if 语句就是同样的逻辑:
bash
score = 85
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"你的成绩是 {score},等级为 {grade}")bash
你的成绩是 85,等级为 B⚠️ 注意: ⚠️ 常见错误:Python 用缩进(通常是 4 个空格)来表示代码块,不是花括号!缩进不一致会导致IndentationError。千万不要混用 Tab 和空格。
bash
# 三元表达式(简写 if-else)
age = 20
status = "成年" if age >= 18 else "未成年"
print(status)bash
成年for 循环
for 循环就像一个"传送带"——把东西一个一个送过来处理:
bash
# 遍历列表
fruits = ["苹果", "香蕉", "橘子", "西瓜"]
for fruit in fruits:
print(f"我喜欢吃{fruit}!")
print("---")
# range() 生成数字序列
for i in range(1, 6):
print(f"第 {i} 次循环")
print("---")
# 带索引遍历(enumerate)
for index, fruit in enumerate(fruits):
print(f"{index}: {fruit}")bash
我喜欢吃苹果!
我喜欢吃香蕉!
我喜欢吃橘子!
我喜欢吃西瓜!
---
第 1 次循环
第 2 次循环
第 3 次循环
第 4 次循环
第 5 次循环
---
0: 苹果
1: 香蕉
2: 橘子
3: 西瓜while 循环
bash
# 猜数字游戏
import random
secret = random.randint(1, 10)
guess = 0
attempts = 0
while guess != secret:
guess = int(input("猜一个 1-10 的数字:"))
attempts += 1
if guess > secret:
print("太大了!")
elif guess < secret:
print("太小了!")
print(f"🎉 恭喜!你猜对了!答案是 {secret},共猜了 {attempts} 次。")bash
猜一个 1-10 的数字:5
太大了!
猜一个 1-10 的数字:3
太小了!
猜一个 1-10 的数字:4
🎉 恭喜!你猜对了!答案是 4,共猜了 3 次。break、continue 和 for...else
bash
# break:立即跳出循环
print("break 示例:找到第一个偶数就停止")
numbers = [1, 3, 5, 8, 9, 10]
for n in numbers:
if n % 2 == 0:
print(f"找到偶数:{n}")
break
print(f" 检查 {n}...")
print("\ncontinue 示例:跳过偶数")
for n in range(1, 8):
if n % 2 == 0:
continue
print(f"奇数:{n}")
print("\nfor...else 示例:检查是否全是正数")
test_list = [1, 2, 3, 4, 5]
for n in test_list:
if n < 0:
print("发现负数!")
break
else:
# 循环正常结束(没有 break)时执行
print("所有数字都是正数 ✅")bash
break 示例:找到第一个偶数就停止
检查 1...
检查 3...
检查 5...
找到偶数:8
continue 示例:跳过偶数
奇数:1
奇数:3
奇数:5
奇数:7
for...else 示例:检查是否全是正数
所有数字都是正数 ✅📝 备注: 📝 小知识:for...else是 Python 独有的语法。只有当循环完整执行完毕(没遇到break)时,else块才会执行。常用于搜索场景:"如果搜遍了都没找到,就执行 else"。