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

为何这段Python for循环输出1,1,2而非2,2,3?

代码输出分析

先看你给出的代码:

ids = ["XF345_89", "XER76849", "XA454_55"]
x = 0
for id in ids:
    if '_' in id:
        x = x + 1
    print(x)

它的输出是1,1,2,拆成三次循环就能明白原因:

  • 第一次循环:当前id是XF345_89,包含下划线,x从0加到1,紧接着打印x,输出1。
  • 第二次循环:当前id是XER76849,没有下划线,x保持1不变,直接打印x,输出1。
  • 第三次循环:当前id是XA454_55,包含下划线,x从1加到2,打印x,输出2。

你误以为会输出2,2,3,是默认每次循环x都会加1,但实际上x只有在当前id包含下划线时才会递增,不是每次循环都执行x = x +1。每次循环的最后都会打印当前的x值,所以就得到了1、1、2的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:52:01