Код Junior Функции и области видимости обновлено
Композиция функций
Условие
Напишите compose(*fns): возвращает функцию одного аргумента, которая применяет функции справа налево: compose(f, g)(x) == f(g(x)). Без функций это тождественная функция. Проверка: run(names, x) собирает функции по именам из словаря OPS и применяет композицию к x. Реализуйте compose.
Примеры
run(["inc", "double"], 3) // 7
run(["double", "inc"], 3) // 8
run([], 5) // 5
Как подойти
Подсказки: 2
- Последняя функция в списке применяется первой.
functools.reduceс начальным значением.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
Вызов с *args и **kwargs: разбор сигнатуры
Следующий вопрос
Мемоизация через замыкание
Термины по теме
Ещё по теме «Функции и области видимости»
- Что такое *args и **kwargs
- Перекрытие встроенных имён
- Как передаются аргументы в функцию Python
- Где хранятся переменные замыкания
- Повтор вызова с ограничением попыток
- Когда вычисляется значение по умолчанию
- Где хранятся значения по умолчанию
- Сигнатура с / и *