整数输入数量的倒数

问题描述 投票:-1回答:3
enter_inputs=int(input())
for i in range(enter_inputs):
   rev=0
   while i>0:
       rev=(rev*10)+i%10
       i=i//10
   print(rev)

我正在尝试在python中获取数字的倒数,但读取行时却出现EOFError:EOF为什么?

我想我的逻辑是正确的。

python python-3.x reverse
3个回答
1
投票

通过使用列表然后将结果强制转换为int,可以很容易地对数字进行反转

enter_inputs=input() #input 12345
print(int("".join([i for i in enter_inputs if i.isnumeric()][::-1])))   

输出

54321

[这将接受输入,然后将每个数字初始化为split,这将反转列表的join顺序并将其转换为整数。


0
投票

您的想法正确,只是不需要for循环。您可以简单地使用直接在整数enter_inputs上操作的内部部分:

enter_inputs = 12345678

rev=0
while enter_inputs > 0:
    rev = (rev * 10) + enter_inputs % 10
    enter_inputs //= 10
print(rev)
# 87654321

如果您以字符串开头(这不是数学练习),那么在创建整数之前简单地反转字符串会更容易:

enter_inputs = "1234567801"

try:
    print(int(enter_inputs[::-1]))
except ValueError:
    print("Bad input: Only enter numbers")
# 1087654321

0
投票

您正在使用Python Man !,将为这些基本用途提供内置功能。

number = int(input())
print(int(str(number)[::-1]))
© www.soinside.com 2019 - 2024. All rights reserved.