如何使字符串中的字母匹配

2024-10-01 09:30:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我不确定它的标题,但我正在编写一个函数来检查一个短语是否是回文。如果某个字符大写与否无关紧要,如果还有其他字符,它会删除它们。如果字符串前后相同(回文就是这样),那么它将是布尔真,如果不是布尔假。例如:

is_palindrome('ta.cocat')
#It would return
True

is_palidrome('Tacocat')
#It would return
True

is_palindrome('tacodog')
#It would return
False
I've written code that will take out extra characters, but I can't figure out how to make it that capitalization doesn't matter.

#Strip non-alpha
def to_alphanum(str):
  return ''.join([char for char in str if char.isalnum()]) 

#Palindromes
def is_palindrome(str):
  str = to_alphanum(str)
  if(str==str[::-1]):
    return True
  else:
    return False
#Here's examples about what it returns
is_palindrome('taco.cat')
True

is_palindrome('Tacocat')
>>> False

Tags: tofalsetruereturnthatisitout
2条回答

您可以简单地使用:

def isPalindrome(s): 
    s = to_alphanum(s).lower()
    rev = s[::-1]

    # Checking if both string are equal or not 
    if (s == rev): 
        return True
    return False

s1 = "malayalam"
>>> isPalindrome(s1)
True

只需在输入字符串上使用lower函数,这样大小写在函数中就不重要了

str = to_alphanum(str).lower()

相关问题 更多 >