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

Python程序求助:输入5个整数需反向输出为54321的代码修正

问题分析与修改方案

你的代码逻辑是把每次输入的数字追加到结果的末尾,所以输入1、2、3、4、5后会得到12345。要实现倒序拼接出54321,需要把新输入的数字放到当前结果的前面。

修改后的代码

rev = 0
power = 1
t = 1

while t <= 5:
    n = int(input("Enter a number:"))
    # 将新输入的数字放在当前结果的高位
    rev = n * power + rev
    # 更新权重,确保下一个数字对应更高位数
    power *= 10
    t += 1

print(f"Output: {rev}")

修改说明

  1. 新增power变量,用来记录当前新输入数字需要乘的权重(初始为1,对应个位)。
  2. 把原来的rev = rev * 10 + a改为rev = n * power + rev,这样每次新输入的数字会被放到当前结果的前面(比如输入2时,得到210+1=21,而非110+2=12)。
  3. 每次循环后将power乘以10,确保下一个输入的数字能对应十位、百位等更高位数。
  4. 去掉了多余的a = n % 10和n = n // 10,因为你输入的都是个位数,这两行没有实际作用。

如果想更简洁,也可以先收集所有输入再反转拼接:

nums = []
for _ in range(5):
    nums.append(input("Enter a number:"))
result = int(''.join(reversed(nums)))
print(f"Output: {result}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 19:00:29