Python编程实战 · 基础入门篇 | 循环控制:break / continue / else

475 阅读4分钟

在上一节中,我们学习了 forwhile 循环的基本语法。 循环让程序能够重复执行任务,但有时我们希望:

  • 提前结束循环(例如找到目标就停止);
  • 跳过某些不需要处理的情况;
  • 或者在循环正常结束后执行额外逻辑。

Python 提供了三种循环控制语句来实现这些功能: 👉 break、continue 和 else


一、break —— 立即终止循环

✅ 作用

break 用于 提前结束整个循环, 无论循环条件是否还成立。

📘 基本语法

for 变量 in 可迭代对象:
    if 条件:
        break
    代码块

while 条件:
    if 条件:
        break
    代码块

示例 1:查找并终止

for i in range(1, 10):
    print(f"检查数字 {i}")
    if i == 5:
        print("找到目标,结束循环!")
        break

输出:

检查数字 1
检查数字 2
检查数字 3
检查数字 4
检查数字 5
找到目标,结束循环!

一旦执行 break,循环立即终止,不再执行后续迭代。


示例 2:while 循环中的 break

i = 1
while i <= 10:
    if i == 6:
        break
    print("当前 i =", i)
    i += 1

输出:

当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
当前 i = 5

实战:用户输入退出指令

while True:
    cmd = input("请输入命令(exit退出):")
    if cmd == "exit":
        print("程序已结束。")
        break
    print(f"你输入了:{cmd}")

运行示例:

请输入命令(exit退出):hello
你输入了:hello
请输入命令(exit退出):exit
程序已结束。

二、continue —— 跳过当前循环

✅ 作用

continue 用于 跳过当前循环中的剩余代码, 直接进入下一次循环判断。

📘 基本语法

for 变量 in 可迭代对象:
    if 条件:
        continue
    代码块

while 条件:
    if 条件:
        continue
    代码块

示例 1:跳过特定数字

for i in range(1, 6):
    if i == 3:
        continue
    print("当前数字:", i)

输出:

当前数字: 1
当前数字: 2
当前数字: 4
当前数字: 5

当 i = 3 时,continue 让程序直接跳到下一次循环, 因此不会执行 print()


示例 2:统计偶数个数

count = 0
for i in range(1, 11):
    if i % 2 != 0:
        continue  # 跳过奇数
    count += 1
print("1~10 之间的偶数数量:", count)

输出:

1~10 之间的偶数数量: 5

示例 3:while 中的 continue

i = 0
while i < 5:
    i += 1
    if i == 3:
        continue
    print("i =", i)

输出:

i = 1
i = 2
i = 4
i = 5

注意:while 循环中使用 continue 时,一定要保证循环变量仍能更新, 否则可能会造成死循环


三、else —— 循环的“善后处理”

✅ 作用

Python 中的循环可以带 else 语句, 当循环 正常结束(未被 break 打断) 时,执行 else 块。

这在“查找类任务”中非常有用, 可以在没找到目标时执行额外操作。


示例 1:for...else

for i in range(1, 5):
    print("检查数字", i)
    if i == 10:
        break
else:
    print("循环正常结束,未找到目标")

输出:

检查数字 1
检查数字 2
检查数字 3
检查数字 4
循环正常结束,未找到目标

示例 2:while...else

i = 1
while i < 5:
    print(i)
    i += 1
else:
    print("循环结束,没有触发 break。")

输出:

1
2
3
4
循环结束,没有触发 break

示例 3:break 与 else 的配合使用

nums = [3, 8, 15, 20, 33]

for n in nums:
    if n % 7 == 0:
        print("找到能被7整除的数:", n)
        break
else:
    print("未找到能被7整除的数")

输出:

未找到能被7整除的数

因为没有触发 break,所以执行了 else


四、三者对比总结

控制语句作用执行效果常用场景
break终止循环立即退出循环提前结束循环任务
continue跳过本次循环不执行本次循环的剩余语句,直接进入下一次循环跳过不符合条件的数据
else正常结束时执行仅在未被 break 打断时执行查找任务、检测循环是否完整执行

五、综合案例:搜索学生成绩

students = {
    "张三": 85,
    "李四": 90,
    "王五": 78
}

target = input("请输入要查询的学生姓名:")

for name, score in students.items():
    if name == target:
        print(f"{name} 的成绩是 {score} 分。")
        break
else:
    print("未找到该学生。")

运行示例:

请输入要查询的学生姓名:李四
李四 的成绩是 90 分。

请输入要查询的学生姓名:赵六
未找到该学生。

六、小结

控制语句关键特性
break立即结束循环
continue跳过当前循环,继续下一次
else仅当循环“正常结束”时执行

✅ 一句话总结

break 是“终止”,continue 是“跳过”,else 是“收尾”。 掌握这三者,你的循环将更加灵活与智能。