2016-11-05 37 views
2

我想讓我的函數找到重複的單詞,如果是這樣,輸出應該是True或False取決於是否有重複的單詞。例如:在字符串中查找重複的單詞python

doubleWord("cat") --> False .  
doubleWord("catcat") --> True . 
doubleWord("contour" * 2) --> True 

到目前爲止,我有這樣的:

def main(): 

    word = input("Enter a string: ") 

    half = len(word) >> 1 
    if word[:half] == word[half:]: 
     print("True") 
    else: 
     print("False") 

    return 
    print(main()) 

如果 == 「主要」: 的main()

任何幫助將不勝感激。我想也許使用切片會使它更容易,但我不知道如何在我的代碼中實現。謝謝!

+7

它究竟是什麼你想怎麼辦?在你的例子中,你說你認爲'catcat'應該返回'True'。但是在你的代碼中,你將輸入分割爲有空格的地方,所以'catcat'將被認爲是一個單詞。 – Batman

+0

@Batman我想讓它認識到有重複的單詞/字母。 –

回答

2

你只需要比較第二的第一部分,你可以用切片這樣做:

def doubleWord(word): 
    return word[len(word) // 2:] == word[:len(word) // 2] 
+0

不錯的襯墊。如果'len(word)'是奇數,我會優化它返回'False'。 –

+0

所以它的工作,直到輸入輪廓* 2.任何想法爲什麼? –

相關問題