2018迅雷校园招聘客户端在线笔试B卷---输入一个有符号整数,输出该整数的反转值。

2018迅雷校园招聘客户端在线笔试B卷—输入一个有符号整数,输出该整数的反转值。

题目描述:
输入一个有符号整数,输出该整数的反转值。
代码如下:

num = list(input())
if num[0] != '-':
    num = num[::-1]
else:
    num = num[::-1]
    temp = num.pop()
    num.insert(0,temp)
result = []
for i in num:
    if i != '0':
        result.append(i)
if result == []:
    print('0')
else:
    print(''.join(result))

这个代码有bug,就是如果输入为200700 时,输出为72 ,代码对0 的判断把非零数字中间的0 也给判断了。
其实可以不需要这个判断语句就可以处理0 的。把最后反转结果转为int 输出,开头的0 自然就没有了。
代码如下:

num = list(input())
if num[0] != '-':
    num = num[::-1]
else:
    num = num[::-1]
    temp = num.pop()
    num.insert(0,temp)

if num == []:
    print('0')
else:
    print(int(''.join(num)))

你可能感兴趣的:(python3,note)