python如何颠倒数

python如何颠倒数

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

用户关注问题

Q
Python中有哪些方法可以颠倒数字?

我想知道在Python里,有哪些常用的方式能够将一个数字的顺序颠倒,比如将123变成321?

A

使用字符串转换和切片来颠倒数字

可以将数字转换为字符串,利用字符串切片功能实现反转,之后再转换回数字。例如:

num = 123
reversed_num = int(str(num)[::-1])
print(reversed_num)  # 输出321
Q
如何用数学运算在Python中颠倒数字?

除了字符串方法,有没有办法通过数学计算来颠倒数字?

A

通过取余和整除运算实现数字翻转

可以利用取余和整除循环提取数字每一位,然后构建颠倒后的数字。示例代码为:

num = 123
rev = 0
while num > 0:
    rev = rev * 10 + num % 10
    num //= 10
print(rev)  # 输出321
Q
Python怎么处理负数颠倒数字的问题?

如果数字是负数,比如-456,颠倒后应该是什么样?Python里怎么处理这种情况?

A

区分正负号后进行数字颠倒

先判断数字是否为负数,去除负号后颠倒数字,再加上负号返回。例如:

def reverse_num(num):
    sign = -1 if num < 0 else 1
    num = abs(num)
    rev = int(str(num)[::-1])
    return sign * rev

print(reverse_num(-456))  # 输出-654