Вложенность слов создается следующим образом. Берем начальное слово и генерируем новую строку, помещая это слово внутрь него самого. Этот процесс может повторяться.
Пример трехкратного вложения слова «incredible»:
Друзья, подписывайтесь на наш телеграм канал Pythonist. Там еще больше туториалов, задач и книг по Python.
начальное слово = incredible 1-й уровень incre|incredible|dible 2-й уровень increin|incredible|credibledible 3-й уровень increinincr|incredible|ediblecredibledible
Итоговая строка — «increinincrincredibleediblecredibledible», а уровень вложенности — 3.
Напишите функцию, которая будет принимать начальное слово и итоговую строку и возвращать уровень вложенности.
Примеры
word_nest("floor", "floor")
➞ 0
word_nest("code", "cocodccococodededeodeede")
➞ 5
Варианты решения
def word_nest(word, nest):
return len(nest) // len(word) - 1
def word_nest(word, nest):
c = -1
while nest:
u = nest.index(word)
nest = nest[:u] + nest[u + len(word):]
c += 1
return c