跳转至

控制流程:循环控制(break、continue)

在编程中,循环是一种重复执行某段代码的结构。Python 提供了多种循环控制语句,其中最常用的是 break 和 continue。这两个语句可以帮助我们更灵活地控制循环的执行流程。本文将详细介绍 break 和 continue 的用法,并通过代码示例和练习题帮助你掌握它们。


1. break 语句

1.1 概念解释

break 语句用于立即终止当前所在的循环,并跳出循环体。无论循环条件是否满足,break 都会强制结束循环。它通常用于在满足某个特定条件时提前退出循环。

1.2 代码示例

示例 1:在 for 循环中使用 break

# 遍历一个列表,当遇到数字 5 时退出循环
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

for num in numbers:
    if num == 5:
        print("找到数字 5,退出循环")
        break  # 退出循环
    print(num)

输出:

1
2
3
4
找到数字 5,退出循环

解释: - 当 num 等于 5 时,break 语句被执行,循环立即终止。 - 因此,数字 5 之后的元素不会被打印。

示例 2:在 while 循环中使用 break

# 使用 while 循环计算 1 到 10 的和,当和大于 20 时退出循环
total = 0
num = 1

while True:  # 无限循环
    total += num
    num += 1
    if total > 20:
        print(f"和超过 20,当前和为 {total}")
        break  # 退出循环

输出:

和超过 20,当前和为 21

解释: - 这是一个无限循环,但通过 break 语句在 total 超过 20 时退出循环。 - 如果没有 break,循环将永远不会停止。


2. continue 语句

2.1 概念解释

continue 语句用于跳过当前循环的剩余部分,直接进入下一次循环。与 break 不同,continue 不会终止整个循环,而是跳过当前迭代,继续执行下一次迭代。

2.2 代码示例

示例 3:在 for 循环中使用 continue

# 打印 1 到 10 之间的奇数
for num in range(1, 11):
    if num % 2 == 0:  # 如果 num 是偶数
        continue  # 跳过当前迭代
    print(num)

输出:

1
3
5
7
9

解释: - 当 num 是偶数时,continue 语句被执行,跳过当前迭代,不执行 print(num)。 - 因此,只有奇数被打印。

示例 4:在 while 循环中使用 continue

# 打印 1 到 10 之间的数字,但跳过 5
num = 0

while num < 10:
    num += 1
    if num == 5:
        continue  # 跳过当前迭代
    print(num)

输出:

1
2
3
4
6
7
8
9
10

解释: - 当 num 等于 5 时,continue 语句被执行,跳过当前迭代,不执行 print(num)。 - 因此,数字 5 没有被打印。


3. 练习题

练习题 1:简单

编写一个程序,遍历 1 到 20 的数字,打印所有能被 3 整除的数字。如果遇到 15,则退出循环。

提示: - 使用 for 循环和 break 语句。

练习题 2:中等

编写一个程序,计算 1 到 100 之间所有奇数的和。如果和超过 500,则提前退出循环并打印当前和。

提示: - 使用 while 循环和 break 语句。

练习题 3:复杂

编写一个程序,遍历一个包含字符串的列表。如果字符串的长度大于 5,则跳过该字符串;否则,打印该字符串。如果遇到字符串 "exit",则退出循环。

提示: - 使用 for 循环、continue 和 break 语句。


4. 总结

关键点回顾

  1. break 语句:
  2. 用于立即终止当前循环。
  3. 适用于需要提前退出循环的场景。

  4. continue 语句:

  5. 用于跳过当前迭代,进入下一次循环。
  6. 适用于需要跳过某些特定条件的场景。

  7. 使用场景:

  8. break 常用于搜索或条件满足时退出循环。
  9. continue 常用于过滤或跳过某些不需要处理的迭代。

  10. 注意事项:

  11. break 和 continue 只能用于循环结构(如 for 和 while)。
  12. 过度使用 break 和 continue 可能会导致代码难以理解,建议谨慎使用。

通过本文的学习,你应该已经掌握了 break 和 continue 的基本用法,并能够灵活运用它们来控制循环的执行流程。接下来,尝试完成练习题,巩固你的知识!