📜  python回文检查 - Python(1)

📅  最后修改于: 2023-12-03 15:04:38.213000             🧑  作者: Mango

Python回文检查

本文介绍如何使用Python编写一个回文检查程序。

什么是回文?

回文是指从前往后读和从后往前读都是一样的单词、短语或数字。例如,"racecar"、"level"、"deified"和"12321"都是回文。

思路

回文检查的思路很简单,就是把字符串反转过来,然后再和原字符串比较是否相等。如果相等,则是回文,否则不是回文。

代码实现
def is_palindrome(word):
    """判断一个单词是否为回文"""
    return word == word[::-1]


def is_phrase_palindrome(phrase):
    """判断一个短语是否为回文"""
    phrase = ''.join(filter(str.isalnum, phrase)).lower()
    return is_palindrome(phrase)

这里定义了两个函数,is_palindrome()函数接受一个单词作为参数,判断该单词是否为回文,is_phrase_palindrome()函数接受一个短语作为参数,判断该短语是否为回文。这里将短语中的所有非字母和数字的字符都过滤掉,并将所有字母转换成小写字母后再进行比较。

使用示例
print(is_palindrome('racecar'))  # True
print(is_palindrome('level'))  # True
print(is_palindrome('deified'))  # True
print(is_palindrome('12321'))  # True
print(is_palindrome('hello'))  # False

print(is_phrase_palindrome('A man, a plan, a canal, Panama!'))  # True
print(is_phrase_palindrome('Was it a car or a cat I saw?'))  # True
print(is_phrase_palindrome('No \'x\' in Nixon'))  # True
print(is_phrase_palindrome('hello world'))  # False
总结

本文介绍了如何使用Python编写回文检查程序,这是一个比较基础的算法题,大家可以尝试用不同的方法来实现它。