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