如何在PYTHON里处理解决整数反转问题

2025-11-20 16:27:10

1、打开JUPYTER NOTEBOOK,新建一个空白的PY文档。

如何在PYTHON里处理解决整数反转问题

2、x = 123

for i in range(len(x)):

    print(x[::-1])

首先我们要知道整型是不能遍历的,因为没有长度。

如何在PYTHON里处理解决整数反转问题

3、x_str = str(x)

print(x_str)

type(x_str)

for i in range(len(x_str)):

    print(x_str[::-1])

但是如果转成字符串类型,那么就是可以遍历的了。

如何在PYTHON里处理解决整数反转问题

4、x_str[::-1]

int(x_str[::-1])

x = -123

if x < 0:

    x_str = str(x)[::-1]

    print(x_str)

如果遇到负数的话,这种倒置的方法这样是不可行的,因为有个负号。

如何在PYTHON里处理解决整数反转问题

5、x = 130

if x % 2 == 0:

    x_list = list(str(x))[::-1]

    for i in x_list:

        if i == "0":

            x_list.remove("0")

    print(int("".join(x_list)))

    

elif x < 0:

    x_str = str(x)[-1:0:-1]

    print(x_str)

elif x > 0:

    x_str = str(x)[::-1]

我们可以尝试遇到0就把0给去掉,这样如果遇到后面很多0的也不怕。

如何在PYTHON里处理解决整数反转问题

6、x = 130

if x < 0:

    x *= -1

    if x % 2 == 0:

        x_list = list(str(x))[::-1]

        for i in x_list:

            if i == "0":

                x_list.remove("0")

        print(int("".join(x_list))*(-1))

elif x > 0:

    print(int(str(x)[::-1]))

else:

    print(0)

我们可以设置负号为一个变量。

如何在PYTHON里处理解决整数反转问题

7、x = -130

n = -1

while x % 10 == 0:

    x //= 10

if x < 0:

    x *= n

    x_str = str(x)[::-1]

    x = int(x_str) * n

    print(x)

    

elif x >= 0:

    x_str = str(x)[::-1]

    x = int(x_str)

    print(x)

另外的方法是while循环可以不断减去后面的零。

如何在PYTHON里处理解决整数反转问题

8、x = -130

if x < 0:

    x = -1 * int(str(-x)[::-1])

    print(x)

    

elif x >= 0:

    x = int(str(x)[::-1])

    print(x)

if x > 2147483647 or x < -2147483647:

    print(x)

但是因为字符串变成整型的时候前面的零会自动去掉,所以没必要用WHILE。

如何在PYTHON里处理解决整数反转问题

9、x = -130

if x < 0:

    x = -1 * int(str(-x)[::-1])

    

else:

    x = int(str(x)[::-1])

if x > 2147483647 or x < -2147483647:

    x = 0

    

print(x)

优化一下,这样写就是最简单的。

如何在PYTHON里处理解决整数反转问题

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢