如何使用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
相关产品推荐
相关产品推荐

