回文函数Python

时间:2016-03-11 03:32:41

标签: python function palindrome

我正在尝试编写一个函数,告诉我输入的单词或短语是否是回文。到目前为止我的代码工作,但只适用于单个单词。我怎么能这样做,如果我输入一些带有空格的东西,比如'赛车'或'活不上邪恶',这个功能会回归真实吗?本页上的其他问题解释了如何使用一个单词但不能使用多个单词和空格。这就是我到目前为止所拥有的......

def isPalindrome(inString):
    if inString[::-1] == inString:
        return True
    else:
        return False

print 'Enter a word or phrase and this program will determine if it is a palindrome or not.'
inString = raw_input()
print isPalindrome(inString)

3 个答案:

答案 0 :(得分:0)

您只需要按空格拆分并再次加入:

def isPalindrome(inString):
    inString = "".join(inString.split())
    return inString[::-1] == inString

答案 1 :(得分:0)

如果字符不是空格,您可以将字符串的字符添加到列表中。这是代码:

def isPalindrome(inString):
    if inString[::-1] == inString:
        return True
    else:
        return False

print 'Enter a word or phrase and this program will determine if it is a palindrome or not.'
inString = raw_input()
inList = [x.lower() for x in inString if x != " "]  #if the character in inString is not a space add it to inList, this also make the letters all lower case to accept multiple case strings.
print isPalindrome(inList)

着名回文的输出"一名男子计划运河巴拿马"是True。希望这有帮助!

答案 2 :(得分:0)

略有不同的方法。只需删除空格:

def isPalindrome(inString):
    inString = inString.replace(" ", "")
    return inString == inString[::-1]