python如何把数字倒序

python如何把数字倒序

作者:William Gu发布时间:2026-01-07阅读时长:0 分钟阅读次数:14

用户关注问题

Q
如何将数字转换为字符串并反转顺序?

我想把一个整数的数字顺序倒过来,比如123变成321,应该怎么做?

A

使用字符串转换和切片实现数字倒序

可以先将整数转换为字符串,然后利用字符串切片的语法将字符反转,最后再将反转后的字符串转换回整数。例如:

num = 123
reversed_num = int(str(num)[::-1])
print(reversed_num)  # 输出321
Q
如何处理负数的数字倒序?

如果我的数字是负数,比如-456,想要倒序数字部分,如何操作?

A

针对负数需要先处理符号后反转数字

对于负数,可以先记录符号,然后对数字绝对值部分进行倒序,最后再拼接负号。例如:

num = -456
sign = -1 if num < 0 else 1
reversed_num = int(str(abs(num))[::-1]) * sign
print(reversed_num)  # 输出-654
Q
如何用数学方法实现数字倒序,不用字符串?

能否不用字符串的方法,直接通过数学运算实现数字倒序?

A

利用取余和除法循环实现数字倒序

可以使用取余和整除运算,循环提取数字的每一位并构造新数字,步骤如下:

def reverse_number(num):
    sign = -1 if num < 0 else 1
    num = abs(num)
    reversed_num = 0
    while num > 0:
        reversed_num = reversed_num * 10 + num % 10
        num //= 10
    return sign * reversed_num

print(reverse_number(123))  # 输出321
print(reverse_number(-456)) # 输出-654