在 for 和 while 循环之间进行选择

已完成

注释

有关更多详细信息,请参阅 “文本和图像 ”选项卡!

当程序可以自动执行重复任务时,程序会变得更加有用。 可以使用 循环 自动重复代码块,而不是反复编写相同的代码。

Python有两种类型的循环:for循环和while循环。 选择合适的哪一种,取决于你是否事先知道要重复多少次。

for 循环(重复次数已知)

当你想将某个操作重复已知的次数,或者想要遍历集合中的每一项时,请使用for循环。

使用 range() 进行循环

内置 range() 函数生成要循环访问的数字序列:

for i in range(5):
    print(i)

输出:

0
1
2
3
4

请注意, range(5) 生成数字 0 到 4。 循环运行 5 次,变量 i 接受序列中的每个值。 该 range() 函数默认从 0 开始,在指定的数字 之前 停止(在本例中为 5)。

您最多可提供三项设置,以自定义顺序:range(start, stop, step) 循环将在达到停止目标之前停止:

for number in range(1, 10, 2):  # Start at 1, stop before 10, step by 2
    print(number)

输出:

1
3
5
7
9

while 循环

如果你想在条件保持为 True 时持续重复执行某些操作,请使用 while 循环。 如果不知道提前重复操作需要多少次,则可以使用此方法。

health = 3

while health > 0:
    print(f"Player is alive. Health: {health}")
    health -= 1  # Modify the condition so the loop will eventually stop

输出:

Player is alive. Health: 3
Player is alive. Health: 2
Player is alive. Health: 1

避免无限循环

循环 while 在每次迭代之前检查其条件。 如果条件始终 True存在,循环永远不会停止。 此行为称为 无限循环 ,将冻结程序。

始终确保代码更新条件,使其最终变为 False。 在上面的示例中,我们在每次循环迭代时都从 health 中减去 1。 达到 0 时 health ,条件变为 False,循环停止。

选择正确的循环

在以下情况下,选择for循环:

  • 你知道要重复该操作的次数。
  • 你希望在重复一定次数后自动退出。
  • 希望计数器变量跟踪循环的运行次数。

在以下情况下,选择while循环:

  • 重复总数取决于变量状态。
  • 在停止循环(例如用户输入)之前,你正在等待特定内容发生。
  • 需要控制循环何时停止,而不是固定数量的重复。