python中关于数字和回文的反转的特定问题需要帮助吗

python中关于数字和回文的反转的特定问题需要帮助吗,python,Python,有人知道如何检查给定的数字及其总和的倒数是否为回文,以及获得回文所需的步骤数吗? 例如: 需要四个步骤才能得到回文 代码如下: n=int(input()) rev = 0 while(n > 0): a = n % 10 rev = rev * 10 + a n = n // 10 steps=0 while n!=rev: n+=rev steps+=1 print(steps,n) 可以使用递归函数 def fun(n, steps):

有人知道如何检查给定的数字及其总和的倒数是否为回文,以及获得回文所需的步骤数吗? 例如:

需要四个步骤才能得到回文 代码如下:

n=int(input())
rev = 0
while(n > 0): 
    a = n % 10
    rev = rev * 10 + a 
    n = n // 10
steps=0
while n!=rev:
    n+=rev
    steps+=1
print(steps,n)

可以使用递归函数

def fun(n, steps):
    sum = n + int(str(n)[::-1])
    if str(sum) == str(sum)[::-1]:
        return (sum, steps)
    else:
        return fun(sum, steps + 1)

print(fun(87, 1))
#(4884, 4)

到目前为止,您尝试了什么?这是我的代码:n=int(input())rev=0 while(n>0):a=n%10 rev=rev*10+a n=n//10 steps=0 while n=rev:n+=rev steps+=1 print(steps,n)将您在问题中尝试过的内容添加进来,以显示您的努力和结果。我找到了给定数字的倒数和两个数字的总和。从那里我需要检查总和是否是回文。从那里你必须对结果的总和做同样的事情。例:12+21不是回文,所以你把这2的和倒过来,做同样的事情。这就是我一直坚持的部分。你仍然需要在问题中添加你的代码。非常感谢
def fun(n, steps):
    sum = n + int(str(n)[::-1])
    if str(sum) == str(sum)[::-1]:
        return (sum, steps)
    else:
        return fun(sum, steps + 1)

print(fun(87, 1))
#(4884, 4)