Python 测验 – 条件判断与循环:从入门到实战
你有没有遇到过这样的场景?写代码时,程序总是“不按套路出牌”——明明逻辑没错,结果运行结果和预期差了十万八千里?别急,这很可能是因为你对“条件判断”和“循环”这两个核心控制结构掌握得还不够扎实。
在 Python 编程中,条件判断与循环是构建逻辑流程的两大支柱。它们就像程序的“方向盘”和“发动机”,决定了代码如何前进、何时停下、在什么情况下执行哪一段逻辑。今天我们就来一场真实的 Python 测验,通过一个个实战案例,帮你彻底打通这两个关键知识点。
条件判断:程序的“大脑”在思考
想象一下,你的程序是一个聪明的助手。它不能靠直觉做事,必须根据“指令”来判断下一步该怎么做。这就是条件判断的作用——它让程序能够“思考”,根据不同的情况做出不同的反应。
Python 中最基础的条件判断结构是 if 语句。它的语法非常直观:
if 条件表达式:
执行代码块
这里的“条件表达式”必须返回 True 或 False。如果为 True,就执行缩进的代码;否则跳过。
简单判断:判断成绩是否及格
我们来看一个常见的例子:判断学生成绩是否及格。
score = 85
if score >= 60:
print("恭喜你,成绩及格了!")
代码注释:
score = 85:定义一个变量,存储学生成绩。if score >= 60::判断分数是否大于等于 60,这是“条件表达式”。print("恭喜你,成绩及格了!"):如果条件为真,就输出鼓励信息。
这个例子简单,但背后是程序“决策”的起点。
多分支判断:用 elif 和 else 拓展思维
现实世界中,判断往往不止“是或否”,而是“A、B、C”多个选择。Python 提供了 elif(else if)和 else 来处理这种情况。
score = 92
if score >= 90:
print("优秀!")
elif score >= 80:
print("良好!")
elif score >= 70:
print("中等!")
elif score >= 60:
print("及格!")
else:
print("需要努力!")
代码注释:
if score >= 90::先判断是否优秀。elif score >= 80::如果前面不成立,再判断是否良好。elif依次向下,形成一个“优先级链”。else是兜底选项,当所有条件都不满足时执行。
✅ 小贴士:
elif的判断是“按顺序进行”的。一旦某个条件为真,后面的elif和else都不会执行。所以顺序很重要!
循环结构:让程序“自动重复”工作
如果说条件判断是“思考”,那么循环就是“重复”。在编程中,很多任务都需要重复执行,比如读取文件每一行、处理列表中每个元素、直到用户输入正确才停止。
Python 中有两个主要循环结构:for 循环和 while 循环。
for 循环:遍历已知范围或集合
for 循环适用于“我知道要循环多少次”或“我要遍历某个数据集合”的场景。
用 range() 遍历数字
for i in range(1, 6):
print(f"当前数字是:{i}")
代码注释:
range(1, 6):生成从 1 到 5 的整数序列(不包含 6)。for i in range(...):将每个数字依次赋值给变量i。f"当前数字是:{i}":使用 f-string 格式化输出。
💡 提示:
range(start, stop)中stop不包含在内,这是初学者常犯的错误。
遍历列表:处理多个数据
students = ["小明", "小红", "小刚", "小丽"]
for name in students:
print(f"欢迎,{name}!")
代码注释:
students = ["小明", ...]:创建一个包含四个名字的列表。for name in students::将列表中的每个元素依次赋值给name。print(f"欢迎,{name}!"):输出欢迎信息。
这个例子展示了 for 循环如何轻松处理批量数据,是处理数据时的首选。
while 循环:在不确定次数下持续运行
当你不知道要循环多少次时,while 循环就派上用场了。它会“持续检查条件”,只要条件为真,就一直执行。
实战案例:猜数字游戏
我们来写一个简单的“猜数字”小游戏,用户需要猜一个 1 到 10 之间的数字。
import random
target_number = random.randint(1, 10)
guess = None # 初始化猜测值
while guess != target_number:
guess = int(input("请输入你猜的数字(1 到 10):"))
if guess < target_number:
print("太小了,再试试!")
elif guess > target_number:
print("太大了,再试试!")
else:
print("恭喜你,猜对了!")
代码注释:
import random:导入随机数模块。random.randint(1, 10):生成 1 到 10 之间的随机整数。guess = None:初始化变量,避免未定义错误。while guess != target_number::只要猜的数字不等于目标数,就继续循环。int(input(...)):获取用户输入并转为整数。if/elif/else:判断猜测结果,给出反馈。
⚠️ 注意:
while循环必须有“退出条件”,否则会变成无限循环!这个例子中guess会随着用户输入不断变化,最终一定会等于target_number。
嵌套结构:条件与循环的“组合拳”
在实际项目中,条件判断和循环常常“联手作战”。比如:遍历一个列表,对每个元素进行条件判断。
实战案例:筛选成绩高于 80 的学生
students_scores = [
{"name": "小明", "score": 88},
{"name": "小红", "score": 75},
{"name": "小刚", "score": 92},
{"name": "小丽", "score": 68}
]
for student in students_scores:
# 判断成绩是否高于 80
if student["score"] > 80:
print(f"{student['name']} 的成绩是 {student['score']},表现优秀!")
代码注释:
students_scores:一个包含字典的列表,每个字典代表一个学生。for student in students_scores::遍历列表中的每个学生。if student["score"] > 80::判断当前学生的分数是否超过 80。print(...):输出符合条件的学生信息。
这个例子展示了“循环 + 条件判断”的经典组合,是处理数据筛选的常用模式。
常见陷阱与最佳实践
在使用条件判断和循环时,初学者容易踩几个“坑”:
| 陷阱 | 说明 | 正确做法 |
|---|---|---|
| 缩进错误 | Python 依赖缩进来定义代码块,缩进不一致会报错 | 使用 4 个空格缩进,不要混用 Tab 和空格 |
| 无限循环 | while True 没有退出条件 |
确保循环体内有 break 或条件能变为 False |
== 误用为 = |
= 是赋值,== 是比较 |
比较时务必用 ==,赋值用 = |
elif 顺序错 |
条件判断顺序影响结果 | 把最可能的情况放前面,逻辑更清晰 |
总结:掌握核心,才能写出“聪明”的代码
今天这场 Python 测验 – 条件判断与循环 的实战之旅,我们从基础语法出发,通过多个真实案例,逐步深入理解了这两个核心控制结构的用法与组合。
if/elif/else让程序学会“思考”;for循环适合“遍历已知数据”;while循环适合“持续执行直到满足条件”;- 两者结合,能解决绝大多数逻辑控制问题。
无论你是初学者,还是希望巩固基础的中级开发者,建议你动手敲一敲这些代码,尝试修改条件、添加新逻辑,真正把“理解”变成“掌握”。
编程的本质,不是记住语法,而是学会用逻辑去解决问题。当你能熟练运用条件判断与循环,你就已经迈出了成为“代码工程师”的关键一步。
现在,不妨打开你的 Python 编辑器,写一个属于你自己的“猜数字”游戏,或者写一段代码,筛选出所有大于 100 的数字。让逻辑在你手中流动,让代码为你服务。