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


相关推荐
a程序小傲12 分钟前
蚂蚁Java面试被问:向量数据库的相似度搜索和索引构建
开发语言·后端·python·架构·flask·fastapi
派大鑫wink2 小时前
【Day39】Spring 核心注解:@Component、@Autowired、@Configuration 等
java·后端·spring
Java程序员威哥3 小时前
Java应用容器化最佳实践:Docker镜像构建+K8s滚动更新(生产级完整模板+避坑指南)
java·开发语言·后端·python·docker·kubernetes·c#
源代码•宸3 小时前
Golang原理剖析(defer、defer面试与分析)
开发语言·经验分享·后端·面试·golang·defer·开放编码
南山乐只3 小时前
Java并发原生工具:原子类 (Atomic Classes)
java·开发语言·后端
爱丽_4 小时前
Spring 框架
java·后端·spring
小北方城市网4 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列):实现异步通信与系统解耦
java·spring boot·后端·spring·rabbitmq·mybatis·java-rabbitmq
sunnyday04264 小时前
从混乱到清晰:Maven 依赖版本管理最佳实践
java·spring boot·后端·maven
雨中飘荡的记忆4 小时前
Spring Test 从入门到实战
java·后端·spring
晨非辰5 小时前
C++波澜壮阔40年|类和对象篇:拷贝构造与赋值重载的演进与实现
运维·开发语言·c++·人工智能·后端·python·深度学习