4.3 【基础】循环语句:while

while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

其基本形式为:

while 判断条件:
    执行语句

1. 普通的循环

直接上案例

age = 1
while age <= 3:
    print(f"孩子当前 {age} 岁,还不能上幼儿园")
    age += 1

print("年龄够了,可以上幼儿园了")

运行后,输出结果

孩子当前 1 岁,还不能上幼儿园
孩子当前 2 岁,还不能上幼儿园
孩子当前 3 岁,还不能上幼儿园
年龄够了,可以上幼儿园了

2. 无限的循环

当 while 后面的条件一直满足且循环体内一直没有 break ,此时 while 就会变成死循环,就是写 while 循环时千万要注意的。

会造成死循环,无非两种情况:

1、 使用 while True,而且循环体内又没有 break 或者 走不到 break

age = 1
while True:
    age += 1

2、 使用一个永远都会成立的判断条件,而且循环体内又没有 break 或者 走不到 break

age = 1
while age > 0:
    age += 1

3. while - else 语句

和 for 循环一样, while 循环同样可以加一个 else 分支,当代码在 while 循环体中正常执行完,就会走到 else 分支中。

那么什么叫做 正常执行完 呢?就是只要不通过 break 语句中断的,都算正常执行完。

>>> age = 1
>>> while age <= 3:
...     print(f"我已经 {age} 岁了")
...     age += 1
... else:
...     print("可以上幼儿园了")
...
我已经 1 岁了
我已经 2 岁了
我已经 3 岁了
可以上幼儿园了

如果在循环体内加 break ,就算是异常退出

>>> age = 1
>>> while age <= 3:
...     if age == 2:
...         break
...     print(f"我已经 {age} 岁了")
...     age += 1
... else:
...     print("可以上幼儿园了")
...
我已经 1 岁了