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

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

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

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


一、break ------ 立即终止循环

✅ 作用

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

📘 基本语法

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

python 复制代码
while 条件:
    if 条件:
        break
    代码块

示例 1:查找并终止

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

输出:

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

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


示例 2:while 循环中的 break

python 复制代码
i = 1
while i <= 10:
    if i == 6:
        break
    print("当前 i =", i)
    i += 1

输出:

ini 复制代码
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4
当前 i = 5

实战:用户输入退出指令

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

运行示例:

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

二、continue ------ 跳过当前循环

✅ 作用

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

📘 基本语法

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

python 复制代码
while 条件:
    if 条件:
        continue
    代码块

示例 1:跳过特定数字

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

输出:

复制代码
当前数字: 1
当前数字: 2
当前数字: 4
当前数字: 5

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


示例 2:统计偶数个数

python 复制代码
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

python 复制代码
i = 0
while i < 5:
    i += 1
    if i == 3:
        continue
    print("i =", i)

输出:

ini 复制代码
i = 1
i = 2
i = 4
i = 5

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


三、else ------ 循环的"善后处理"

✅ 作用

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

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


示例 1:for...else

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

输出:

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

示例 2:while...else

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

输出:

kotlin 复制代码
1
2
3
4
循环结束,没有触发 break。

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

python 复制代码
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 打断时执行 查找任务、检测循环是否完整执行

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

python 复制代码
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 是"收尾"。 掌握这三者,你的循环将更加灵活与智能。


相关推荐
canonical_entropy4 小时前
领域驱动设计(DDD)领域对象一定要讲究充血模型吗?
后端·领域驱动设计·graphql
9ilk4 小时前
【同步/异步 日志系统】 --- 前置技术
笔记·后端·其他·中间件
野犬寒鸦5 小时前
从零起步学习MySQL || 第九章:从数据页的角度看B+树及MySQL中数据的底层存储原理(结合常见面试题深度解析)
java·服务器·数据库·后端·mysql·oracle·1024程序员节
IT_陈寒5 小时前
SpringBoot 3.2 实战:这5个新特性让你的开发效率提升50%!
前端·人工智能·后端
Victor3565 小时前
Redis(82)如何解决Redis的缓存雪崩问题?
后端
Victor3565 小时前
Redis(83)Redis的缓存击穿是什么?
后端
码事漫谈5 小时前
从LIS到全院区多活:浙江省人民医院“信创样板”全景复盘
后端
Jing_jing_X5 小时前
Spring Boot 启动时,JVM 是如何工作的?
java·后端·spring·1024程序员节
thinktik12 小时前
AWS EKS安装S3 CSI插件[AWS 海外区]
后端·kubernetes·aws