Задача · Функции как значения · урок 9 из 10
Задача: применить n раз
Напишите функцию apply_n(func, n), которая возвращает новую функцию одного аргумента. Новая функция применяет func к своему аргументу n раз подряд и возвращает результат: apply_n(func, 3)(x) — это func(func(func(x))).
apply_n(lambda x: x * 2, 3)(1)→8apply_n(lambda s: s + "a", 2)("b")→"baa"apply_n(lambda x: x * 2, 0)(7)→7
Ограничения: n — целое число от 0 до 20; при n, равном 0, новая функция возвращает аргумент без изменений. func принимает один аргумент, и её результат можно снова передать в func. Возвращённую функцию можно вызывать много раз, и каждый вызов начинает с нового аргумента.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.