给出一个32为有符号的整数,将这个整数每位上的数字进行反转

方法一:简单

# 定义一个函数,输入整数后,转化为字符串进行切片
def reverse():
    num  =  int(input('请输入一个整数:'))
    if num > 0:
        # 大于0的情况,只需要从后往前取
        num = str(num)[::-1]
        return num

    elif num <= 0:
        # 小于0的情况,从后往前取,不能取到第一个负号,所以结束的步长写下标为0的第一个位置
        num = str(num)[:0:-1]
        # 返回的值要加上负号
        return "-"+num

print(reverse())



运行结果:

请输入一个整数:90
09

方法二:有点复杂

'''
给出一个32为有符号的整数,将这个整数每位上的数字进行反转
示例1:输入123,输出321
示例2:输入-123,输出-321
示例3:输入120,输出21
'''

#定义函数
def reverse(num):
    num = str(num)
#第一种情况,负数,且末尾为0
    if num[0]=="-" and num[-1]=="0":
    #先从第二个数开始取到倒数第二个数,再将取出的结果进行反转
        num = num[1:-1][::-1]
        num = "-"+num
        print(num)
#第二种情况,负数,末尾不为0
    elif num[0]=="-":
    #从第二个数取到最后,再将结果进行反转
        num = num[1:][::-1]
        num = "-" + num
        print(num)
#第三种情况,正数,末尾不为0
    elif num[-1]=="0":
    #从右往左,右边第二个位置开始取进行反转
        num = num[-2::-1]
        print(num)
#第四种情况,正数,末尾为0
    else:
    #直接从右往左,全部反转
        num = num[::-1]
        print(num)

#调用函数
reverse(234)


版权声明:本文为sunny_eggg原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。