我正在使用Python并且是初学者。我希望我的程序检查用户输入的单词是否重复,我知道我必须使用for循环检查单词是否重复...使用' in'
word = input("Enter a word:")
def repeatedWord(word):
for "input by user:" in word
return True
else:
return False
我知道这不起作用,但是为了让我知道用户是否在字符串中使用for循环重复该单词会有什么用呢?
如果单词由重复两次的单词组成,则返回True
,否则返回False
。
示例:
doubleWord("cat") -> False
doubleWord("catcat") -> True
doubleWord("contour"*2) -> True
doubleWord("acatcat") -> False
doubleWord("catcatcat") -> False
doubleWord("catcatcatcat") -> True
答案 0 :(得分:1)
如果你重新解释这个问题,可能会更容易理解如何解决这个问题:这个词的前半部分是否与单词的后半部分相等?
我们可以使用Python切片语法将单词分成两半:
word[:n]
:word
word[n:]
:所有其他角色为了得到中间标记,我们将单词len(word)
的长度除以2:我们将它除以它是一个整数。
以下功能可以解决问题:
def repeated_word(word):
n = len(word) // 2
return word[:n] == word[n:]