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

如何使用Python打印从任意输入整数N到0的所有数字?

代码调整方案

问题根因

你的代码核心问题是两个while循环的判断条件刚好排除了x=0的场景:

  • 输入正整数时,循环打印到1后x变为0,x>0不成立退出循环,没有打印0
  • 输入负整数时,循环打印到-1后x变为0,x<0不成立退出循环,同样没有打印0

修复方法

方案1:在原有代码基础上最小改动

只需要在两个循环结束后补充打印0的逻辑即可:

print("Insert integer:")
x = int(input())
while x>0: 
  print(x) 
  x=x-1
while x <0: 
  print(x) 
  x=x+1
print(0)

方案2:更简洁的实现方式

用range函数适配正负输入的步长,不需要写两个分支循环:

print("Insert integer:")
x = int(input())
step = -1 if x > 0 else 1
end = -1 if x > 0 else 1
for num in range(x, end, step):
    print(num)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:57:01