📅  最后修改于: 2023-12-03 15:08:58.300000             🧑  作者: Mango
有时候我们需要对数字进行反转操作,例如将数字 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 中反转数字,希望本篇文章可以对你有所帮助!