检查重复两次的字符串,如果重复两次,则返回true,否则返回False

时间:2016-11-04 17:11:39

标签: python string

我正在使用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

1 个答案:

答案 0 :(得分:1)

如果你重新解释这个问题,可能会更容易理解如何解决这个问题:这个词的前半部分是否与单词的后半部分相等?

我们可以使用Python切片语法将单词分成两半:

  • word[:n]word
  • 的前n个字符
  • word[n:]:所有其他角色

为了得到中间标记,我们将单词len(word)的长度除以2:我们将它除以它是一个整数。

以下功能可以解决问题:

def repeated_word(word):
    n = len(word) // 2
    return word[:n] == word[n:]