📌  相关文章
📜  用于检查字符串是否为回文的Python程序(1)

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

用于检查字符串是否为回文的Python程序

回文是指正向读和反向读都相同的字符串,比如"level"和"radar"都是回文。在这里,我们将介绍如何用Python编写一个程序来检查字符串是否为回文。

实现步骤
  1. 将字符串转换为小写并去除其中的空格和标点符号
  2. 将字符串从中间分隔成两个部分
  3. 将第二部分字符串反转并与第一部分进行比较
  4. 如果两部分相同,则字符串为回文,否则不是
代码实现
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程序来检查字符串是否为回文。需要注意的是,在第一步中,我们将所有非字母数字字符都去掉了,因此在比较字符串时应该忽略大小写。