如何检查是一个单词是另一个单词的回文

时间:2016-03-01 08:27:39

标签: python

我创建了一个python程序,用户输入一个单词,然后程序将单词转换为一个单词。然后用户输入一个字母,然后程序会告诉您该字母出现的次数。现在我需要添加更多程序来检查它在开头输入的单词是回文。如果它是一个好消息,如果不是一个错误的消息。不确定如何开始。有什么帮助吗?

4 个答案:

答案 0 :(得分:6)

你可以reverse the string并检查它是否等于输入字符串:

$image->setresqourcelimit(6,2);// 2 threads 

答案 1 :(得分:1)

在python中有一个已知的“技巧”,使用[::-1]反转单词。虽然不是最有效的:

>>> "racecar" == "racecar"[::-1]
True
>>> "racecars" == "racecars"[::-1]
False

答案 2 :(得分:0)

您可以使用简单的条件语句。对于初学者来说,这应该更容易理解。例如:

    text = "Rapport"
    def palindrome(text)
       if text[::-1] == text:
          return True
       else: 
          return False 

我相信这应该很容易理解。 text [:: - 1]是最快的方法。一种慢得多的方法是使用' .join(反向(列表)),其中列表是您将文本拆分成的列表。您可以通过使用timeit计算代码来验证要采用的方法。

虽然,对代码进行切片的时机被认为是一个糟糕的基准,因此需要对整个代码进行计时。希望我解释得很好。祝你好运!

编辑:你的代码很好,但你需要记住一个函数将一个参数作为一个值,这是你在函数本身中操作的。

您的最终代码应如下所示:     text = StrVar()

def getPalindrome(word):
    if word == word[::-1]:
       return True
    else :
       return False

palindrome = getPalindrome(text)

请注意,函数的参数与文本本身不同,我指定了一个字符串变量,表明您不需要立即赋值。让您的代码更优雅。

答案 3 :(得分:0)

好的,所以我查看了你的所有答案。这段代码是否合适,或者甚至是适当的代码,而不是完全没有问题?

def getPalindrome()
    if word == word[::-1] :
       print(True)
    else :
       print(False)

palindrome = getPalindrome()