You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码执行解析:为何未陷入无限循环?

这段Python代码为啥没无限循环?执行流程拆解

原代码

positive = -9
negative = -12
while negative:
    if positive:
        print(negative)
    positive += 3
    negative += 3

运行结果

-12
-9
-6 

为啥没无限循环?

在Python里,while循环的判断逻辑看的是条件的布尔值:整数里只有0会被当成False,其他任何非零整数都是True。

这段代码里negative每次循环都加3,从-12开始,加几次后就会变成0:

  • 初始-12 → 非零→循环继续
  • 加3变-9 → 非零→继续
  • 加3变-6 → 非零→继续
  • 加3变-3 → 非零→继续
  • 再加3就成0了→布尔值是False,循环直接终止

所以等negative变成0时,while的条件不满足,循环就停了,不会无限跑。

具体执行步骤

我们一步步捋每一次循环的操作:

  1. 初始状态:positive设为-9,negative设为-12
  2. 第一次循环:
    • 检查while negative:-12是非零,条件成立,进循环
    • 检查if positive:-9是非零,条件成立,打印-12
    • positive加3,变成-6;negative加3,变成-9
  3. 第二次循环:
    • 检查while negative:-9非零,进循环
    • if positive:-6非零,打印-9
    • positive变-3,negative变-6
  4. 第三次循环:
    • 检查while negative:-6非零,进循环
    • if positive:-3非零,打印-6
    • positive变0,negative变-3
  5. 第四次循环:
    • 检查while negative:-3非零,进循环
    • if positive:0被当成False,不打印
    • positive变3,negative变0
  6. 循环结束:
    • 再检查while negative:0是False,循环直接终止

这就是为啥运行结果只有三行,且循环不会无限进行的原因。

内容的提问来源于stack exchange,提问作者M Nishad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:01:04