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

Python用while循环倒序输出整数各位时如何消除末尾多余的0

问题原因

你代码中多余的0是Python3的除法规则导致的:

  • / 在Python3中为浮点数除法,例如1 / 10的结果是0.1,而非整数0,此时i != 0的判断依然成立,会额外执行一次循环
  • 本次额外循环中0.1 % 10的计算结果为0,打印后i被赋值为0.1 / 10 = 0.0,才满足退出条件,因此末尾多输出了0
  • 代码中重复对i做int()转换属于冗余操作,可直接删除
修复方案

将浮点数除法/替换为整数除法//即可,修复后的代码如下:

i = int(input())

while i != 0:
    a = i % 10
    print(a)
    i = i // 10
测试验证

输入123时,输出结果为:

3
2
1

符合预期输出要求。

可选优化:如果需要支持负数输入,可将输入转换为绝对值i = abs(int(input())),避免负数取模出现不符合预期的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:06:03