下一个回文数
Next Palindrome number
我想要函数 return 编辑的最终数字,下面的代码是 运行,但不是 return 正确的值,正确的值由print语句上面的return语句,怎么能return呢??
正确答案是 22。但是 13 太印了。
def palindrome(num):
num = num+1
num = str(num)
if num[::-1]!=num:
palindrome(int(num))
else:
print(int(num))
return int(num)
palindrome(12)
>RESULT---
22
13
你的递归函数 returns 13
因为这是第一次调用你的函数的结果。递归的其他迭代将丢失,因为您没有将其保存在对 palindrome
.
的递归调用中
您需要将呼叫设置为 palindrome
作为您的 return:
if num[::-1] != num:
return palindrome(int(num))
似乎可以用更好的方法来完成。
def palindrome(num):
if str(num) == str(num)[::-1]:
print(num)
return num
else:
palindrome(num+1)
a = int(input("enter the no. of choices"))
for i in range(a):
b = int(input("enter all no."))
for j in range(b , 10000000000000000):
count = 0
pal = str(j)
b += 1
if (pal == pal[::-1]):
print(j)
break
else:
continue
我想要函数 return 编辑的最终数字,下面的代码是 运行,但不是 return 正确的值,正确的值由print语句上面的return语句,怎么能return呢?? 正确答案是 22。但是 13 太印了。
def palindrome(num):
num = num+1
num = str(num)
if num[::-1]!=num:
palindrome(int(num))
else:
print(int(num))
return int(num)
palindrome(12)
>RESULT---
22
13
你的递归函数 returns 13
因为这是第一次调用你的函数的结果。递归的其他迭代将丢失,因为您没有将其保存在对 palindrome
.
您需要将呼叫设置为 palindrome
作为您的 return:
if num[::-1] != num:
return palindrome(int(num))
似乎可以用更好的方法来完成。
def palindrome(num):
if str(num) == str(num)[::-1]:
print(num)
return num
else:
palindrome(num+1)
a = int(input("enter the no. of choices"))
for i in range(a):
b = int(input("enter all no."))
for j in range(b , 10000000000000000):
count = 0
pal = str(j)
b += 1
if (pal == pal[::-1]):
print(j)
break
else:
continue