晚上好人,
我正在为Python课程做作业。我们的工作是编写一个函数,如果它所采用的字符串是回文,则返回True,否则返回False。以下代码向非控制台的控制台报告False,但是当它是回文时,不向控制台报告任何内容。我假设它在递归电话或第二个elif声明中迷失了,但我真的不知道它出了什么问题。任何帮助非常感谢:)这里是代码:
def middle(word):
return word[1:-1]
def last(word):
return word[-1]
def first(word):
return word[0]
def isPalindrome(word):
if(len(word)<1):
print("You entered a blank word!")
elif(len(word)==1):
return True
elif(first(word)==last(word)):
if(middle(word)==''):
return True
isPalindrome(middle(word))
else:
return False
答案 0 :(得分:0)
使用Python检查回文有更简单的方法。除此之外,对于您当前的方法,您需要返回递归调用的输出,否则您的函数将返回 None
elif
分支:
return isPalindrome(middle(word))
例如,您可以简单地反转字符串并检查反向和原始字符串是否相等:
word == word[::-1]
答案 1 :(得分:0)
def isPalindrome(word):
return word == word[::-1]
word[::-1]
撤消word
。这会检查word
向后是否与word
相同。