我现在知道有更好的解决办法,但我不知道为什么我要得到我的结果
import sys
def isPalindrome(test):
if len(test) == 1:
return("Is a palindrome")
else:
if test[0] == test[-1]:
isPalindrome(test[1:-1])
else:
return("Not a palindrome")
print(isPalindrome(sys.argv[1]))在一个真实的回文中,我得到了“无”。当结果不是回文时,我得到‘非回文’的期望值。
发布于 2015-04-22 14:42:27
更改为以下行:
return isPalindrome(test[1:-1])您必须返回一个值,否则返回的值是None。
发布于 2015-04-22 16:06:32
另一项建议
def isPalindrome (test):
if test[0] != test[-1]: return ("It is NOT a Palindrome")
if len(test) == 1: return ("It is a Palindrome")
else:return test[0] == test[-1] and isPalindrome(test[1:-1])发布于 2015-04-22 14:45:36
你的问题:第7行应该是:
return isPalindrome(test[1:-1])如果不返回,则调用函数,然后返回None。
另外,正如在其他文章中提到的,偶数字符串有问题,所以添加len(test)==0的条件。
https://stackoverflow.com/questions/29801025
复制相似问题