接受一个数字作为输入,并检查给定的数字是否为回文 如果是回文数字,请在屏幕上打印数字 如果它不是回文数反转该数字并将其添加到以前的数字中,则重复此操作,直到将获得回文数并在屏幕上打印该回文数
输入: 127
输出: 848
如果有人能解决这个问题,我将不胜感激:
n = int(input())
if str(n) == str(n)[::-1]:
print(str(n)[::-1],"is a palindrome")
else:
我应该在 ELSE 条件下写什么
这对我有用:
n = int(input())
while True :
if str(n) == str(n)[::-1]:
print(str(n)[::-1],"is a palindrome")
break
else:
n += int(str(n)[::-1])
一个数学解决方案——不转换为字符串——将是
def revert(x: int) -> int:
x = abs(x)
r = 0
while x:
x, m = divmod(x, 10)
r = r * 10 + m
return r
def findPalindrome(x: int) -> bool:
if x < 0:
return 0
r = revert(x)
if x == r:
return x
else:
return findPalindrome(x + r)