🔀 Python控制流精通:条件语句与循环完全指南
控制流是编程的核心,它决定了代码执行的顺序和逻辑分支。Python提供了简洁而强大的控制流工具,让程序能够根据条件做出决策,重复执行特定任务。本文将深入讲解Python中的条件语句和循环结构,帮助你写出更灵活、更高效的代码。
一、条件语句:if-elif-else
1.1 基本语法
Python使用缩进来定义代码块,条件语句的基本结构如下:
age = 18
if age < 13:
print("儿童")
elif age < 20:
print("青少年") # 输出:青少年
else:
print("成年人")
1.2 条件表达式(三元运算符)
简洁的条件判断写法:
score = 85
result = "及格" if score >= 60 else "不及格"
print(result) # 输出:及格
1.3 多条件组合
使用 and、or、not 组合多个条件:
username = "admin"
password = "123456"
if username == "admin" and password == "123456":
print("登录成功!")
elif username == "admin" or username == "root":
print("用户名正确,密码错误")
else:
print("登录失败")
二、循环结构
2.1 for循环:遍历序列
for 循环用于遍历可迭代对象:
# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# 使用range()生成数字序列
for i in range(5):
print(i) # 输出:0, 1, 2, 3, 4
# 带步长的range
for i in range(0, 10, 2):
print(i) # 输出:0, 2, 4, 6, 8
2.2 while循环:条件循环
当条件为真时持续执行:
count = 0
while count < 5:
print(f"计数: {count}")
count += 1
2.3 循环控制语句
| 语句 | 作用 |
|---|---|
break |
立即终止循环 |
continue |
跳过当前迭代,继续下一次 |
else |
循环正常结束时执行(未被break) |
# break示例:查找第一个偶数
numbers = [1, 3, 5, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"找到偶数: {num}")
break
# continue示例:跳过偶数
for i in range(1, 6):
if i % 2 == 0:
continue
print(f"奇数: {i}") # 输出:1, 3, 5
# else示例:循环正常完成
for i in range(3):
print(i)
else:
print("循环完成!") # 会执行
三、实用技巧
3.1 列表推导式(简洁的循环写法)
# 传统写法
squares = []
for x in range(10):
squares.append(x**2)
# 列表推导式
squares = [x**2 for x in range(10)]
# 带条件的推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]
3.2 enumerate和zip
# enumerate:同时获取索引和值
names = ["Alice", "Bob", "Charlie"]
for index, name in enumerate(names, 1):
print(f"{index}. {name}")
# zip:并行遍历多个序列
names = ["Alice", "Bob"]
ages = [25, 30]
for name, age in zip(names, ages):
print(f"{name}今年{age}岁")
3.3 嵌套循环
# 打印乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}×{i}={i*j}", end="\t")
print()
四、综合实例
def guessing_game():
"""猜数字游戏"""
import random
secret = random.randint(1, 100)
attempts = 0
max_attempts = 7
print("🎮 猜数字游戏!我想了一个1-100之间的数字。")
while attempts < max_attempts:
try:
guess = int(input(f"第{attempts + 1}次尝试,请输入你的猜测: "))
attempts += 1
if guess < secret:
print("📉 太小了!")
elif guess > secret:
print("📈 太大了!")
else:
print(f"🎉 恭喜你!答案就是{secret},用了{attempts}次")
return
except ValueError:
print("❌ 请输入有效的数字!")
print(f"😢 游戏结束!正确答案是{secret}")
# 运行游戏
# guessing_game()
五、总结
| 控制流类型 | 适用场景 | 关键语法 |
|---|---|---|
| if-elif-else | 条件判断 | if condition: |
| for | 遍历已知序列 | for item in iterable: |
| while | 条件满足时循环 | while condition: |
| break | 提前退出循环 | break |
| continue | 跳过当前迭代 | continue |
掌握控制流是编写实用程序的基础。建议多练习,特别是结合实际问题来应用这些知识。记住:代码的可读性比炫技更重要,选择最清晰的表达方式!
💡 小提示:Python没有switch-case语句(3.10+可用match-case),但用字典映射通常是更Pythonic的替代方案。

浙公网安备 33010602011771号