Python 测验 – 条件判断与循环(保姆级教程)

Python 测验 – 条件判断与循环:从入门到实战

你有没有遇到过这样的场景?写代码时,程序总是“不按套路出牌”——明明逻辑没错,结果运行结果和预期差了十万八千里?别急,这很可能是因为你对“条件判断”和“循环”这两个核心控制结构掌握得还不够扎实。

在 Python 编程中,条件判断与循环是构建逻辑流程的两大支柱。它们就像程序的“方向盘”和“发动机”,决定了代码如何前进、何时停下、在什么情况下执行哪一段逻辑。今天我们就来一场真实的 Python 测验,通过一个个实战案例,帮你彻底打通这两个关键知识点。


条件判断:程序的“大脑”在思考

想象一下,你的程序是一个聪明的助手。它不能靠直觉做事,必须根据“指令”来判断下一步该怎么做。这就是条件判断的作用——它让程序能够“思考”,根据不同的情况做出不同的反应。

Python 中最基础的条件判断结构是 if 语句。它的语法非常直观:

if 条件表达式:
    执行代码块

这里的“条件表达式”必须返回 TrueFalse。如果为 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 的判断是“按顺序进行”的。一旦某个条件为真,后面的 elifelse 都不会执行。所以顺序很重要!


循环结构:让程序“自动重复”工作

如果说条件判断是“思考”,那么循环就是“重复”。在编程中,很多任务都需要重复执行,比如读取文件每一行、处理列表中每个元素、直到用户输入正确才停止。

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 的数字。让逻辑在你手中流动,让代码为你服务。