while 循环:条件为真就一直转
while 的直觉
for 循环是"我知道要跑几圈",while 循环是"不知道要跑多少圈,但我知道什么时候该停"。
就像吃自助餐——你不会提前数好"我要吃 8 盘",而是"还吃得下就继续吃"。
加载代码编辑器中……
while 循环的语法两种语言几乎一模一样(除了 Python 用缩进、JS 用大括号之外)。
注意 JS 多了一个便利:count++ 等价于 count += 1。Python 没有 ++ 语法。
| Python | JavaScript | |
|---|---|---|
| 自增 | count += 1 | count++ 或 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)
小结
| 概念 | Python | JavaScript |
|---|---|---|
| while | while cond: 缩进 | while (cond) {} |
| do-while | ❌ 没有 | do {} while (cond) |
| 自增 | x += 1 | x++ 或 x += 1 |
| 死循环风险 | 两边都有,小心! | 两边都有,小心! |
记住:while 是"条件驱动",for 是"次数驱动"。 知道跑几次用 for,不知道用 while。