while 循环最适合用在**“不知道要循环多少次,只知道循环继续的条件”**的场景。
下面从适合场景、不适合场景、对比示例三个角度说明。
不知道要循环多少次,只知道“什么时候该继续”
✅ 示例:
while True:
s = input("输入 yes 或 no:")
if s in ("yes", "no"):
break
n = int(input("输入正整数:"))
while n <= 0:
n = int(input("请输入大于 0 的数:"))
比如:
while not end_of_file:
read_line()
while (line = reader.readLine()) != null:
process(line)
条件比“第几次”更重要。
balance = 1000
while balance > 0:
balance -= 100
比如:
while not is_ready():
time.sleep(1)
游戏、仿真、服务器常驻程序。
while running:
process_input()
update_game()
render()
用 for 更清晰、更安全。
# 不推荐
i = 0
while i < 10:
print(i)
i += 1
# 推荐
for i in range(10):
print(i)
while 写起来更啰嗦、更容易出错。
# 不推荐
i = 0
while i < len(lst):
print(lst[i])
i += 1
# 推荐
for x in lst:
print(x)
| 场景 | 适合 |
|---|---|
| 知道循环次数 | ✅ for |
| 不知道循环次数 | ✅ while |
| 遍历集合 | ✅ for |
| 按条件控制 | ✅ while |
| 计数 | ✅ for |
一句话总结:
for 是“数着做”,while 是“做到条件不满足为止”。
“知道次数用 for,不知道次数用 while。”
如果你愿意,我也可以结合你正在学的语言(Python / Java / C / JavaScript)给你更贴近实战的例子。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。