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