1. 什么是 break 语句?

break 语句用于终止当前所在的循环,无论循环条件是否仍然为 True,都会立即跳出循环,并继续执行循环后的代码。

break 语句适用于以下情况:

  • 提前退出循环(如找到目标数据后立即结束)
  • 避免不必要的计算(如提前检测到无效输入)
  • 配合 while True 创建可控无限循环

2. breakfor 循环中的应用

示例 1:找到目标值并退出

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

for num in numbers:
    print(f"正在检查:{num}")
    if num == 5:
        print("找到 5,停止循环")
        break  # 立即跳出循环
print("循环结束")

输出:

正在检查:1
正在检查:2
正在检查:3
正在检查:4
正在检查:5
找到 5,停止循环
循环结束

break 使循环在找到 5 时终止,后续数字 6, 7, 8, 9 不再遍历。


3. breakwhile 循环中的应用

示例 2:用户输入 exit 退出循环

while True:
    command = input("请输入命令(输入 exit 退出):")
    if command == "exit":
        print("程序已退出")
        break
    print(f"执行命令:{command}")

示例运行:

请输入命令(输入 exit 退出):ls
执行命令:ls
请输入命令(输入 exit 退出):pwd
执行命令:pwd
请输入命令(输入 exit 退出):exit
程序已退出

while True 创建无限循环,break 让用户可以输入 exit 终止程序。


4. break 在嵌套循环中的应用

示例 3:查找二维列表中的特定值

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

target = 5

for row in matrix:
    for num in row:
        print(f"检查 {num} ...")
        if num == target:
            print(f"找到目标 {num},终止内层循环")
            break  # 仅跳出内层循环

输出:

检查 1 ...
检查 2 ...
检查 3 ...
检查 4 ...
检查 5 ...
找到目标 5,终止内层循环
检查 7 ...
检查 8 ...
检查 9 ...

break 仅跳出内层循环,外层 for row in matrix 仍会继续。


示例 4:彻底终止嵌套循环

for i in range(1, 4):
    for j in range(1, 4):
        print(f"正在检查 ({i}, {j})")
        if i == 2 and j == 2:
            print("找到目标 (2,2),彻底终止循环")
            break  # 只跳出内层循环
    else:
        continue  # `for` 的 `else` 仅在完整执行后触发
    break  # 外层循环终止

输出:

正在检查 (1, 1)
正在检查 (1, 2)
正在检查 (1, 3)
正在检查 (2, 1)
正在检查 (2, 2)
找到目标 (2,2),彻底终止循环

使用 break 终止外层循环,整个循环立即结束。


5. breakelse 语句中的应用

forwhile 语句中,如果循环正常完成(没有 break 退出),else 语句块会执行。

示例 5:搜索失败执行 else

numbers = [10, 20, 30, 40]
target = 25

for num in numbers:
    if num == target:
        print(f"找到 {target}")
        break
else:
    print(f"未找到 {target}")

输出:

未找到 25

如果 break 没有执行,else 代码块才会运行。


6. break 结合 while True 创建菜单系统

示例 6:交互式菜单

while True:
    print("\n===== 菜单 =====")
    print("1. 打印 'Hello'")
    print("2. 计算 3 + 5")
    print("3. 退出")
    
    choice = input("请选择操作(输入数字):")
    
    if choice == "1":
        print("Hello")
    elif choice == "2":
        print(f"3 + 5 = {3 + 5}")
    elif choice == "3":
        print("退出程序")
        break
    else:
        print("无效选择,请重新输入")

示例运行:

===== 菜单 =====
1. 打印 'Hello'
2. 计算 3 + 5
3. 退出
请选择操作(输入数字):1
Hello

===== 菜单 =====
1. 打印 'Hello'
2. 计算 3 + 5
3. 退出
请选择操作(输入数字):3
退出程序

while True 确保菜单持续显示,直到用户选择 3 退出。


7. break 的注意事项

  • break 只会终止当前循环,不会影响外层循环。
  • break 不会触发 else 语句,因为循环是被强制终止的。
  • while True 搭配 break创建可控无限循环的最佳方式

8. 总结

break 终止循环 ✅ 适用于 forwhile 和嵌套循环 ✅ 可与 else 结合,确保搜索失败时有额外处理 ✅ 搭配 while True 创建交互式程序嵌套循环中 break 仅终止当前层

🚀 掌握 break,让你的代码更高效!