Перейти к содержимому
Задача · Функции как значения · урок 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) → 8
  • apply_n(lambda s: s + "a", 2)("b") → "baa"
  • apply_n(lambda x: x * 2, 0)(7) → 7

Ограничения: n — целое число от 0 до 20; при n, равном 0, новая функция возвращает аргумент без изменений. func принимает один аргумент, и её результат можно снова передать в func. Возвращённую функцию можно вызывать много раз, и каждый вызов начинает с нового аргумента.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

apply_n.py — python
python · строк: 3
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом