while 循环
在 Python 里,循环是处理重复任务最常见的办法。遇到下面这些场景,while 往往就派上用场了:
- 用户名和密码需要反复输入,直到校验通过
- 计算 1 到 100 这样的连续累加
- 游戏里反复执行某个逻辑,比如失败后重来
Python 里常见的循环方式主要有两种:while 和 for。这一节先把 while 讲透。
while 的基本格式
while 条件:
要循环执行的代码
这里的条件本质上是一个布尔表达式。只要条件为 True,循环就会继续;一旦变成 False,循环立刻结束。
典型用法:按条件重复执行
比如,打印 1 到 50 之间能被 3 整除的数字,可以这样写:
n = 1
while n <= 50:
if n % 3 == 0:
print('------> n = %d' % n)
n += 1
这里最容易出错的地方,其实不是判断条件,而是 n += 1 这一句。只要它忘了写,n 就会一直停在原地,循环也就成了死循环。
再看一个更常见的例子:计算 1 到 10 的累加和。
n = 1
sum = 0
while n <= 10:
sum += n
n += 1
print(sum)
这类题的思路很固定:
- 准备一个计数变量
n - 准备一个累加器
sum - 每次循环把当前值加进去
- 然后让
n递增,直到条件不成立
猜数字:while True 的实战场景
while 在交互式程序里特别常见。比如猜数字游戏,用户可以一直猜,直到猜对为止。这个时候,用 while True 会比写一个固定次数的循环更自然。
下面这段代码会随机生成一个 1 到 50 的整数,用户每猜一次就给出提示,同时统计猜测次数。猜中后,还会根据次数给出不同反馈。
import random
count = 0
ran = random.randint(1, )
:
guess = (())
count +=
guess == ran:
()
count == :
()
<= count <= :
()
:
()
guess > ran:
()
:
()

