📅  最后修改于: 2023-12-03 15:11:17.334000             🧑  作者: Mango
回文是指正向读和反向读都相同的字符串,比如"level"和"radar"都是回文。在这里,我们将介绍如何用Python编写一个程序来检查字符串是否为回文。
def is_palindrome(s):
# 将字符串转换为小写并去除其中的空格和标点符号
s = s.lower()
s = ''.join(c for c in s if c.isalnum())
# 将字符串从中间分隔成两个部分
mid = len(s) // 2
first_half = s[:mid]
second_half = s[mid:]
# 将第二部分字符串反转并与第一部分进行比较
second_half = second_half[::-1]
if first_half == second_half:
return True
else:
return False
>>> is_palindrome("A man, a plan, a canal - Panama!")
True
>>> is_palindrome("python")
False
>>> is_palindrome("Was it a car or a cat I saw?")
True
通过上述步骤,我们可以很容易地编写一个Python程序来检查字符串是否为回文。需要注意的是,在第一步中,我们将所有非字母数字字符都去掉了,因此在比较字符串时应该忽略大小写。