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


相关推荐
Easonmax2 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
百锦再2 小时前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
小羊失眠啦.2 小时前
深入解析Rust的所有权系统:告别空指针和数据竞争
开发语言·后端·rust
q***71852 小时前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
大象席地抽烟3 小时前
使用 Ollama 本地模型与 Spring AI Alibaba
后端
程序员小假3 小时前
SQL 语句左连接右连接内连接如何使用,区别是什么?
java·后端
小坏讲微服务3 小时前
Spring Cloud Alibaba Gateway 集成 Redis 限流的完整配置
数据库·redis·分布式·后端·spring cloud·架构·gateway
方圆想当图灵3 小时前
Nacos 源码深度畅游:Nacos 配置同步详解(下)
分布式·后端·github
方圆想当图灵3 小时前
Nacos 源码深度畅游:Nacos 配置同步详解(上)
分布式·后端·github
小羊失眠啦.4 小时前
用 Rust 实现高性能并发下载器:从原理到实战
开发语言·后端·rust