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为什么?
我想我的逻辑是正确的。
通过使用列表然后将结果强制转换为int,可以很容易地对数字进行反转
enter_inputs=input() #input 12345
print(int("".join([i for i in enter_inputs if i.isnumeric()][::-1])))
输出
54321
[这将接受输入,然后将每个数字初始化为split
,这将反转列表的join
顺序并将其转换为整数。
您的想法正确,只是不需要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
您正在使用Python Man !,将为这些基本用途提供内置功能。
number = int(input())
print(int(str(number)[::-1]))