如何在删除任何前导零时反转整数?

时间:2017-12-27 04:03:39

标签: python

如果输入为" 0",则输出仍应为0.

示例输入:

-2900 

期望的输出:

-92

问题

为什么我的代码不起作用?

s = input() 
if s.startswith("0"):
    if len(s) != 1:
        s = s.strip("0")
print(int(s[::-1]))

3 个答案:

答案 0 :(得分:0)

试试这个:

s = int(input())

sign = 1
if s < 0:
    sign = -1
    s = s * -1

rev = str(s)[::-1]
print(sign * int(rev))

答案 1 :(得分:0)

  1. 检查输入是否以“ - ”开头,以便知道其是否为负数
  2. 如果否定删除前导“ - ”并确保通过变量注释,否则不执行任何操作
  3. 反转输入
  4. 将反向输入强制转换为int,确保附加第2步中的符号
  5. 步骤4将消除前导“0”,但如果输入不是数字
  6. 则会引发错误
  7. 请务必尝试 - 第5步
  8. 返回或打印结果

答案 2 :(得分:0)

适用于您的例如

import re

def reverse(number):
    j=''
    for i in str(number):
        if (i!='0') & (i!='-'):
            j=str(i)+j
    if re.findall(r"-", str(number))!=[]:
        print ("-",j)
    else:
        print (j)