📜  如何在Python反转数字(1)

📅  最后修改于: 2023-12-03 15:08:58.300000             🧑  作者: Mango

反转数字的 Python 实现

有时候我们需要对数字进行反转操作,例如将数字 123 反转后得到 321。Python 提供了多种实现方式,下面就让我们一起来了解。

方式一:使用字符串反转

Python 中可以将数字转换为字符串,然后使用字符串的反转功能得到反转后的字符串,最后再将字符串转换回数字:

def reverse_int1(num):
    if num < 0:
        return -reverse_int1(-num)
    rev_num = int(str(num)[::-1])
    return rev_num

上述代码中,如果输入的是负数,则利用负号运算符求出绝对值,对其反转后再添加负号返回;如果输入的是正数,则将数字转换为字符串,再使用字符串的反转功能[::-1]得到反转后的字符串,最后将字符串转换为数字返回。

方式二:使用数学反转

将数字通过求余数和整除得到每一位的数字,然后逆序合并每一位的数字,最后得到反转后的数字:

def reverse_int2(num):
    if num < 0:
        return -reverse_int2(-num)
    rev_num = 0
    while num:
        rev_num = rev_num * 10 + num % 10
        num //= 10
    return rev_num

上述代码中,如果输入的是负数,则利用负号运算符求出绝对值,对其反转后再添加负号返回;如果输入的是正数,则通过不断求余数和整除得到每一位的数字,再逆序合并每一位的数字,最后得到反转后的数字。

测试代码

我们可以通过以下代码对上述两种方法进行测试:

num = 12345
print(reverse_int1(num))  # 54321
print(reverse_int2(num))  # 54321
num = -12345
print(reverse_int1(num))  # -54321
print(reverse_int2(num))  # -54321

测试结果表明,两种方法都可以正确地反转数字。至此,我们已经学会了如何在 Python 中反转数字,希望本篇文章可以对你有所帮助!