python 实现整数的反转:给定一个整数,将该数按位逆置,例如给定12345变成54321,12320变成2321.

给定一个n位(不超过10)的整数,将该数按位逆置,例如给定12345变成54321,12320变成2321.

# 第一种方法,使用lstrip函数去反转后,数字前面的0
import  math
number=(input("input a number:"))
if number.isdigit() and int(number)>=0:
    number_new=number[::-1]
    number_result=int(number_new.lstrip("0"))
else:
    # 负数的情况,首先转为正数:
    # 把负号去掉
    # number=number[1:]
    # print("fushu:",number)
    # number_new=-int(number[::-1])#这种写法也可以
    number_result =-int((number[1:][::-1]).lstrip("0"))

print(number_result)

 



# 第二种方法:  使用最笨的方法把反转后的整数进行遍历,前面是0的去掉,直到遇见不是0的结束

import  math
number=(input("input a number:"))
if number.isdigit() and int(number)>=0:
    number_result=number[::-1]
    for i in range(len(number_result)):
        print(i)
        if number_result[i]=="0":
            number_result=number_result[i:]#如果遍历是0,则把字符串切片,取i之后的部分,
        if number_result[i]!="0":
            break
    number_result=int(number_result)


if number.isdigit() and int(number)<0:
    number_result =((number[1:][::-1]))
    for i in range(len(number_result)):
        print(i)
        if number_result[i]=="0":
            number_result=number_result[i:] 
        if number_result[i]!="0":
            break
    number_result=-int(number_result)

print(number_result)

 

posted @ 2018-08-17 11:26  houyan_jessica  阅读(10768)  评论(0编辑  收藏  举报