python里如何将整数倒序

python里如何将整数倒序

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何在Python中将一个整数的数字顺序反转?

我想把一个整数的数字顺序倒过来,比如123变成321,Python里有什么简单的方法实现吗?

A

使用字符串转换方式反转整数

可以先将整数转换成字符串,然后使用字符串的切片操作[::-1]来反转,最后再转换回整数。例如:

num = 123
reversed_num = int(str(num)[::-1])
print(reversed_num)  # 输出 321
Q
在Python中逆序整数时,负数该怎么处理?

如果需要将负整数倒序,比如-123变成-321,有什么合适的处理方法吗?

A

考虑负号后反转数字部分

可以先判断整数是否为负数,如果是负数,可以先取绝对值反转后,再加上负号,示例代码如下:

num = -123
if num < 0:
    reversed_num = -int(str(abs(num))[::-1])
else:
    reversed_num = int(str(num)[::-1])
print(reversed_num)  # 输出 -321
Q
有没有不使用字符串操作反转整数的方法?

在Python中,反转一个整数有没有办法不转换为字符串,通过数学运算实现?

A

利用数学运算逐位提取数字实现反转

可以通过不断对整数进行取余和整除操作,逐位提取数字并构建反转后的整数。示例如下:

def reverse_integer(num):
    result = 0
    negative = num < 0
    num = abs(num)
    while num > 0:
        digit = num % 10
        result = result * 10 + digit
        num //= 10
    return -result if negative else result

print(reverse_integer(123))   # 321
print(reverse_integer(-456))  # -654