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

Python循环代码中print(number)输出9的原因咨询

为什么print(number)输出9?

Python中for循环的变量在循环结束后不会被销毁,会保留最后一次迭代时的赋值,这就是你看到输出9的原因。

看你的第一个循环代码:

for number in range(10):
  print(number)
  print("Hello")
  print("Hi there")

range(10)生成的是0到9的整数序列(遵循左闭右开规则,不包含10)。这个循环会依次将0、1、2……9赋值给number变量,当循环执行完最后一次时,number被设置为9,之后这个变量会一直保留这个值,不会被自动清除。

后面的第二个循环使用的是x变量,和number没有关联,所以不会改变number的取值。

在遍历fav_movies的循环中,你每次打印number时,它仍然是第一个循环结束后留下的9,因此每次输出都是9。最后单独执行的print(number),自然也会输出9。

如果要避免这种意外,建议不要在循环外部使用循环内定义的变量,或者在需要时重新为变量赋值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:05:57