在编程中,控制流程(Control Flow)决定了代码的执行顺序。通过条件判断、循环和流程控制语句,我们可以让程序根据不同的情况做出决策、重复执行任务,从而实现复杂的功能。
本文将详细介绍 Python 中三大核心控制结构:
- ✅ 条件语句(
if/elif/else) - ✅ 循环语句(
for和while) - ✅ 流程控制关键字(
break、continue)
一、条件语句:让程序"做决定"
条件语句用于根据某个条件是否成立来决定执行哪段代码。它的基本结构是 if、elif(else if 的缩写)、else。
1. 基本语法
if 条件:
条件为 True 时执行的代码
elif 另一个条件:
上一个条件不满足,且当前条件为 True 时执行
else:
所有条件都不满足时执行
📌 注意:Python 使用缩进(通常为 4 个空格)表示代码块,而不是大括号
{}。
2. 示例:判断成绩等级
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("中等")
elif score >= 60:
print("及格")
else:
print("不及格")
输出结果:
良好
3. 多条件组合:使用逻辑运算符
and:两个条件都为真才返回 Trueor:至少一个为真即返回 Truenot:取反
age = 20
has_license = True
if age >= 18 and has_license:
print("可以开车")
else:
print("不能开车")
二、循环语句:重复执行任务
当需要多次执行相同或相似的操作时,就可以使用循环 。Python 提供两种主要循环方式:for 循环和 while 循环。
1. for 循环:遍历序列
适用于已知循环次数或要遍历列表、字符串、范围等情况。
基本语法:
for 变量 in 可迭代对象:
执行代码
示例 1:遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print("我喜欢", fruit)
输出:
我喜欢 苹果
我喜欢 香蕉
我喜欢 橙子
示例 2:使用 range() 函数生成数字序列
range(start, stop, step) 可以生成一个整数序列。
for i in range(1, 6): # 从 1 到 5
print(i)
输出:
1
2
3
4
5
💡 小技巧:
range(5)等价于0, 1, 2, 3, 4
2. while 循环:条件满足时持续执行
当不知道具体循环次数,但知道结束条件时,使用 while 循环。
基本语法:
while 条件:
条件为 True 时不断执行
示例:倒计时程序
count = 3
while count > 0:
print(count)
count -= 1 # 相当于 count = count - 1
print("发射!")
输出:
3
2
1
发射!
⚠️ 注意避免无限循环:确保循环体内有改变条件的语句,否则会一直运行下去。
❌ 错误示例:无限循环
while True:
print("停不下来了...")
三、break 与 continue:精确控制循环
有时我们希望提前退出循环或跳过某次迭代,这时就需要用到 break 和 continue。
1. break:立即终止整个循环
一旦遇到 break,循环立刻结束,后续代码继续执行。
示例:查找数字 7
numbers = [1, 3, 5, 7, 9, 11]
for num in numbers:
if num == 7:
print("找到数字 7!")
break
print("检查:", num)
输出:
检查: 1
检查: 3
检查: 5
找到数字 7!
🔍 循环在找到目标后立即停止,不再检查后面的元素。
2. continue:跳过本次循环,进入下一次
遇到 continue 时,当前循环体剩余部分被跳过,直接进入下一轮循环。
示例:打印奇数
for i in range(1, 6):
if i % 2 == 0:
continue # 如果是偶数,跳过
print(i)
输出:
1
3
5
✅
continue不会终止循环,只是"跳过"当前这一次。
四、综合案例:猜数字小游戏
结合条件语句、循环和流程控制,我们来写一个简单的"猜数字"游戏。
import random
secret_number = random.randint(1, 10)
guess = None
print("我已经想好了一个 1 到 10 之间的数字,你来猜猜看吧!")
while guess != secret_number:
guess = int(input("请输入你的猜测:"))
if guess < secret_number:
print("太小了,再试试")
elif guess > secret_number:
print("太大了,再试试")
else:
print("🎉 恭喜你,猜对了!")
break # 可省略,因为条件不成立也会退出
这个程序展示了:
- 使用
while实现重复输入 - 使用
if/elif/else判断大小 - 使用
break在正确时可选退出
五、总结:控制流程要点回顾
| 结构 | 关键字 | 用途 |
|---|---|---|
| 条件语句 | if, elif, else |
根据条件选择执行路径 |
| 循环语句 | for |
遍历序列或指定次数循环 |
| 循环语句 | while |
条件为真时持续执行 |
| 控制关键字 | break |
立即退出循环 |
| 控制关键字 | continue |
跳过当前轮次,继续下一轮 |
六、学习建议
- 多动手练习:尝试修改示例代码,观察输出变化。
- 画流程图辅助理解:复杂的逻辑可以用图形化方式理清思路。
- 从小项目入手:如计算器、成绩统计、简单游戏等,巩固控制流程知识。
🎯 记住:掌握控制流程,就掌握了程序的"大脑"------它决定了程序如何思考与行动。