该程序应该接受一个数字,然后找到相反的数字。如果该数字是回文,则会打印该数字。如果该数字不是回文,则将数字加反,然后再次检查回文。而且这种情况一直在发生,这也表明最终结果应该是回文。 这是代码:
num = int(input("Enter a number: "))
def palindromeConverter(n):
m = n
rev = 0
while(n>0):
rev = (rev*10) + (n%10)
n = n/10
if(rev==m):
return rev
else:
return palindromeConverter(rev+m)
print(palindromeConverter(num))
答案 0 :(得分:0)
如果打印 n ,您会看到脚本无限运行。 while循环永远不会结束
while(n>0):
rev = (rev*10) + (n%10)
n = n/10
print(n)
在我搜索了一些示例后,我认为您的 n = n / 10 划分是错误的。应该是楼层划分 n = n // 10
如果您这样更改它,则效果很好:
num = int(input("Enter a number: "))
def palindromeConverter(n):
m = n
rev = 0
while(n>0):
rev = (rev*10) + (n%10)
n = n//10
if(rev==m):
return rev
else:
return palindromeConverter(rev+m)
print(palindromeConverter(num))