跳出循环:breakcontinue

在 Python 的循环中,breakcontinue 是两种用于控制循环执行流程的重要语句:

  • break:用于完全跳出循环,停止循环的执行。
  • continue:用于跳过本次循环,直接进入下一次循环。

1. break:跳出循环

当程序运行到 break 时,会立刻终止当前的循环,无论循环条件是否仍然满足。

语法

for 条件或 while 条件:
    if 某个条件成立:
        break

示例:找到第一个大于 5 的数

numbers = [1, 3, 5, 7, 9]

for num in numbers:
    if num > 5:
        print(f"找到大于 5 的数:{num}")
        break

输出

找到大于 5 的数:7

分析

  • num 等于 7 时,if 条件成立,break 终止循环,后续数字(如 9)不会再处理。

breakwhile 循环结合

示例:模拟密码验证

correct_password = "python123"

while True:
    password = input("请输入密码:")
    if password == correct_password:
        print("密码正确,欢迎登录!")
        break
    else:
        print("密码错误,请重新输入。")

输出示例

请输入密码:wrong123
密码错误,请重新输入。
请输入密码:python123
密码正确,欢迎登录!

分析

  • 使用 while True 创建无限循环,直到用户输入正确密码时,通过 break 跳出循环。

2. continue:跳过本次循环

continue 语句会跳过当前循环剩下的代码,直接进入下一次循环。

语法

for 条件或 while 条件:
    if 某个条件成立:
        continue

示例:只打印奇数

for i in range(1, 6):  # 遍历 1 到 5
    if i % 2 == 0:  # 如果是偶数
        continue    # 跳过本次循环
    print(i)

输出

1
3
5

分析

  • i 为偶数(24)时,continue 会跳过 print(i),直接进入下一次循环。

continuewhile 循环结合

示例:跳过特定的用户输入

while True:
    word = input("请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):")
    if word == "quit":
        print("退出程序!")
        break
    elif word == "skip":
        print("跳过本次输入。")
        continue
    print(f"你输入的是:{word}")

输出示例

请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):hello
你输入的是:hello
请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):skip
跳过本次输入。
请输入一个单词(输入 'skip' 跳过,输入 'quit' 退出):quit
退出程序!

breakcontinue 的区别

功能 break continue
影响 终止整个循环,循环结束 跳过本次循环,直接进入下一次循环
位置 通常用在需要提前结束循环的场景 用在需要跳过某些条件下的处理的场景
后续代码 循环体中 break 后的代码不会执行 本次循环中 continue 后的代码不会执行

3. 综合实例

示例 1:筛选数字

numbers = [1, 4, 7, 10, 15]

for num in numbers:
    if num % 2 == 0:  # 偶数
        continue
    if num > 10:  # 大于 10
        break
    print(num)

输出

1
7

分析

  • 4 是偶数,continue 跳过了它。
  • 15 大于 10break 终止了循环。

示例 2:简单的菜单程序

while True:
    print("=== 菜单 ===")
    print("1. 查看商品")
    print("2. 购买商品")
    print("3. 退出")

    choice = input("请选择操作(输入数字):")

    if choice == "1":
        print("商品列表:苹果、香蕉、橙子")
    elif choice == "2":
        print("你选择了购买商品!")
    elif choice == "3":
        print("退出程序!")
        break
    else:
        print("输入无效,请重新选择!")
        continue

输出示例

=== 菜单 ===
1. 查看商品
2. 购买商品
3. 退出
请选择操作(输入数字):4
输入无效,请重新选择!

注意事项

  1. 使用场景

    • break:用来提前退出循环,比如在找到目标结果时。
    • continue:用来跳过特定条件的处理,比如过滤掉不符合要求的元素。
  2. 减少复杂性

    • 避免频繁使用 breakcontinue,可能会增加逻辑理解难度。
    • 如果逻辑过于复杂,可以考虑重构代码,比如分成多个函数。
  3. 与循环的配合

    • breakcontinue 可以和 forwhile 一起使用,但不能脱离循环单独存在。

总结

  • break:用于完全跳出循环,适合在明确的条件下结束操作。
  • continue:用于跳过当前循环的剩余代码,进入下一次循环,适合在某些条件下跳过处理。
  • 这两种语句让循环更加灵活,是控制程序逻辑的利器。