Как найти повторяющееся слово в строке?
Эту задачу решает Алгоритм Ландау-Шмидта
def find_word(line):
    for step in xrange(1, len(line)):
        for start in xrange(step):
            if len(set(line[(start or None)::step])) != 1:
                break
        else:
            return line[:step]
    return line

print find_word('HELLOHELLOHELLOHEL')
print find_word('HHHELLOHHHELLOHHHELLOHHH')
print find_word('_HHELLOHHELLOHHELLOHHELLOHHELLOHHE')
Результат:HELLO
HHHELLO
_HHELLOHHELLOHHELLOHHELLOHHELLOHHE