简单的python:回文函数(如果是回文,则返回true,如果不是回文,则返回false)

时间:2016-10-04 23:15:21

标签: python palindrome

晚上好人,

我正在为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

2 个答案:

答案 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相同。