📅  最后修改于: 2023-12-03 15:04:38.213000             🧑  作者: Mango
本文介绍如何使用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编写回文检查程序,这是一个比较基础的算法题,大家可以尝试用不同的方法来实现它。