【问题标题】:How do check for a palindrome in Python?如何在 Python 中检查回文?
【发布时间】:2022-11-14 20:19:42
【问题描述】:

我得到了一个单词,我必须检查这个单词是否是回文。我的程序运行良好,直到我玩弄这个词的大小写。

def isPalindrome(word):
    reversedWord = word[::-1]
    palindrome = true
    for n in range(len(word)):
        if(word[n] != reversedWord[i])
            palindrome = false
    return palindrome

我尝试了下面的代码,如果我给函数输入“妈妈”这个词,它工作得很好,但是当我给它同样的词但用不同的大小写“妈妈”时它会失败

def isPalindrome(word):
    reversedWord = word[::-1]
    palindrome = true
    for n in range(len(word)):
        if(word[n] != reversedWord[i])
            palindrome = false
    return palindrome

【问题讨论】:

标签: python


【解决方案1】:

您必须将单词的小写版本与其反转版本进行比较。 Python中有一个函数可以将字符串转换为全小写。搜索它并尝试一下:)

【讨论】:

    【解决方案2】:

    ascii表中m和M的十六进制值是不一样的。 由于这些值在逻辑比较上是不同的,所以结果不会是多边形。

    【讨论】:

      【解决方案3】:

      您已经在反转字符串。只需返回 reversedWord == word 而不是逐个字符检查。

      【讨论】:

        【解决方案4】:

        您可以将您的单词转换为小写(或大写),然后检查是否反转为回文。

        def isPalindrome(word):
            word = word.lower()
            return True if word == word[::-1] else False
        

        isPalindrom("Mom") 返回True

        【讨论】:

        • return word == word[::-1] 等价于 return True if word == word[::-1] else False
        猜你喜欢
        • 1970-01-01
        • 2020-09-02
        • 2013-06-24
        • 1970-01-01
        • 2016-02-13
        • 2021-04-03
        • 2011-01-07
        • 1970-01-01
        相关资源
        最近更新 更多