检查字符串是否为回文忽略空白和特殊字符

2024-10-02 16:24:00 发布

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

所以,基本上我想检查一个字符串是否是回文

我知道我可以用

def palindrome(n):
    return n == n[::-1]

它工作得很好,但如果我想要一个字符串,例如“一只猫,一只螃蟹,哈哈:Barcelontaca” 说实话,我能做什么?


Tags: 字符串returndefpalindromebarcelontaca螃蟹
3条回答

尝试先检查给定字符串中的每个字母是否都在字母表中,如下所示

import string
def palindrome(str):
    alphabet=string.ascii_lowercase
    temp=""
    for c in str.lower():
        if c in alphabet:
            temp+=c
    return temp==temp[::-1]
def palindrome(n):
    n = n.lower()
    n = ''.join(char for char in n if char.isalpha())
    return n==n[::-1]

检查char.isalpha()可以忽略不是字母的所有内容(当与n = n.lower()组合时,它基本上只检查小写字母)这样,就忽略了所有标点和空白

def palindrome(n):
    x = ''.join([x.lower() for x in n if x.isalpha()])
    return x == x[::-1]

相关问题 更多 >