Вложенность слов создается следующим образом. Берем начальное слово и генерируем новую строку, помещая это слово внутрь него самого. Этот процесс может повторяться.

Пример трехкратного вложения слова «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
Марина

Recent Posts

Сборка мусора в Python: ключевые концепции и механизмы

Управление памятью - важный, но часто упускаемый из виду аспект программирования. При неправильном подходе оно…

6 дней ago

Круговой импорт в Python и как его избежать

Как возникает круговой импорт? Эта ошибка импорта обычно возникает, когда два или более модуля, зависящих…

2 недели ago

Библиотека tqdm: визуализация прогресса выполнения скриптов Python

Вы когда-нибудь оказывались в ситуации, когда скрипт на Python выполняется очень долго и вы задаетесь…

3 недели ago

Символы новой строки в Python

В этом руководстве мы разберем все, что нужно знать о символах перехода на новую строку…

2 месяца ago

if __name__ == «__main__» в Python: полное объяснение

Блок if __name__ == "__main__" в Python позволяет определить код, который будет выполняться только при…

2 месяца ago

Как писать модульные тесты для методов экземпляра в Python

Давайте разберем, как настроить модульные тесты для экземпляров классов. Мы напишем тесты для проверки функциональности…

4 месяца ago