跳到主要内容

Python while 循环

提示
  1. Python while 循环基础:通过评估条件来重复执行代码块,直到条件不再为真。
  2. 应用案例与逻辑:通过具体示例展示 while 循环的工作机制,如显示一系列数字或计算总和。
  3. 特殊用法与对比:介绍无限循环和 while 循环中的 else 用法,以及与 for 循环的区别。

在编程中,循环用于重复执行一段代码。例如,如果我们想展示一条信息100次,那么我们可以使用循环。这只是一个简单的例子,我们可以通过循环实现更多功能。

在上一教程中,我们学习了Python for 循环。现在我们将学习 while 循环。

Python while 循环

Python while 循环用于在满足某个条件时运行一段代码。

while 循环的语法是:

while 条件:
# while 循环的主体

这里,

  1. while 循环评估 条件
  2. 如果 条件 评估为 True,则执行 while 循环内的代码。
  3. 再次评估 条件
  4. 这个过程持续进行,直到条件为 False
  5. 条件 评估为 False 时,循环停止。

Python while 循环的流程图

Python 编程中的 while 循环

示例1:Python while 循环

# 程序用于显示数字1到5
# 初始化变量
i = 1
n = 5

# while 循环从 i = 1 到 5
while i <= n:
print(i)
i = i + 1

输出

1
2
3
4
5

程序的工作原理如下:

变量条件:i <= n行动
i = 1 n = 5True打印 1i 增加到 2
i = 2 n = 5True打印 2i 增加到 3
i = 3 n = 5True打印 3i 增加到 4
i = 4 n = 5True打印 4i 增加到 5
i = 5 n = 5True打印 5i 增加到 6
i = 6 n = 5False循环终止。

示例 2:Python while 循环

# 程序用于计算数字的总和
# 直到用户输入零
total = 0

number = int(input('输入一个数字:'))

# 添加数字直到数字为零
while number != 0:
total += number # total = total + number

# 再次输入整数
number = int(input('输入一个数字:'))

print('总计 =', total)

输出

输入一个数字:12
输入一个数字:4
输入一个数字:-5
输入一个数字:0
总计 = 11

在上面的示例中,while 循环迭代,直到用户输入零。当用户输入零时,测试条件评估为 False,循环结束。

Python 中的无限 while 循环

如果循环的 条件 始终为 True,则循环无限次运行(直到内存满)。例如,

age = 32

# 测试条件始终为 True
while age > 18:
print('你可以投票')

在上面的示例中,条件 始终评估为 True。因此,循环体将无限次运行。

Python 中带 else 的 while 循环

在 Python 中,while 循环可能有一个可选的 else 块。

这里,循环的 else 部分在循环条件评估为 False 后执行。

counter = 0

while counter < 3:
print('循环内部')
counter = counter + 1
else:
print('else 内部')

输出

循环内部
循环内部
循环内部
else 内部

注意:如果 while 循环因 break 语句而终止,那么 else 块将不会执行。

counter = 0

while counter < 3:
# 因为 break 而结束循环
# else 部分不会执行
if counter == 1:
break

print('循环内部')
counter = counter + 1
else:
print('else 内部')

输出

循环内部

else 内部

Python 的 for 与 while 循环

当迭代次数已知时,通常使用 for 循环。例如,

# 这个循环迭代 4 次(0 到 3)
for i in range(4):
print(i)

当迭代次数未知时,通常使用 while 循环。例如,

while 条件:
# 直到条件评估为 False 才运行代码