跳到主要内容

while 循环:条件为真就一直转

while 的直觉

for 循环是"我知道要跑几圈",while 循环是"不知道要跑多少圈,但我知道什么时候该停"。

就像吃自助餐——你不会提前数好"我要吃 8 盘",而是"还吃得下就继续吃"。

加载代码编辑器中……

while 循环的语法两种语言几乎一模一样(除了 Python 用缩进、JS 用大括号之外)。

注意 JS 多了一个便利:count++ 等价于 count += 1。Python 没有 ++ 语法。

PythonJavaScript
自增count += 1count++count += 1
++ 运算符❌ 没有✅ 有

实际应用:猜数字游戏

while 最适合"不确定要执行几次"的场景:

加载代码编辑器中……

do-while:先做再说

JS 有一个 Python 没有的循环——do...while。区别是先执行一次,再判断条件

加载代码编辑器中……

do-while 的用途不多,但在"至少要做一次"的场景下很方便——比如让用户至少输入一次密码。

死循环:小心!

while 循环最大的风险是忘了更新条件,导致永远跑下去:

# ⚠️ 死循环!count 永远是 0
count = 0
while count < 5:
print(count)
# 忘了写 count += 1
// ⚠️ 死循环!同样的问题
let count = 0
while (count < 5) {
console.log(count)
// 忘了写 count++
}
🏋️AI 练习

用 while 循环计算:从 1 加到 100 的总和(即 1 + 2 + 3 + ... + 100)。

提示:结果应该是 5050。用 Python 和 JS 各写一版。

额外挑战:能不能用一行代码算出来?(Python 有 sum(range(101)),JS 呢?问问 AI)

小结

概念PythonJavaScript
whilewhile cond: 缩进while (cond) {}
do-while❌ 没有do {} while (cond)
自增x += 1x++x += 1
死循环风险两边都有,小心!两边都有,小心!

记住:while 是"条件驱动",for 是"次数驱动"。 知道跑几次用 for,不知道用 while。