- Простой арифметический диспетчер
Описание:
Создать набор функций для базовых операций: сложение, вычитание, умножение, деление.
Реализовать функцию-диспетчер, которая принимает строковый оператор и два числа, и вызывает нужную функцию.
Требования:
- функции: add, sub, mul, div
- dispatch(op, a, b)
- обработка деления на ноль
⸻
- Мини-калькулятор строкового выражения
Описание:
Реализовать функцию, которая принимает строку вида "12 + 7" и возвращает результат вычисления.
Требования:
- функция calc(expr: str)
- поддержка + - * /
- запрещено использовать eval
⸻
- Функции высшего порядка
Описание:
Создать функцию, которая принимает другую функцию и список чисел, применяет её ко всем элементам списка и возвращает результат.
Требования:
- apply(func, data)
- data — список чисел
- func — любая функция
⸻
- Реализация map и filter
Описание:
Реализовать собственные версии стандартных функций map и filter.
Требования:
- my_map(func, iterable)
- my_filter(func, iterable)
- без использования встроенных map, filter
⸻
- Композиция функций
Описание:
Создать функцию, которая объединяет несколько функций в цепочку выполнения.
Требования:
- pipe(*funcs)
- результат одной функции передаётся следующей
⸻
- Декоратор кэширования
Описание:
Реализовать декоратор, который сохраняет результаты вызова функции и повторно их использует при одинаковых аргументах.
Требования:
- cache(func)
- поддержка позиционных и именованных аргументов
⸻
- Ограничение числа вызовов
Описание:
Создать декоратор, ограничивающий количество вызовов функции.
Требования:
- limit_calls(n)
- после превышения лимита функция не выполняется
⸻
- Рекурсивные проверки строк
Описание:
Реализовать функции, работающие только через рекурсию.
Требования:
- проверка палиндрома
- проверка корректности скобок
⸻
- Генератор функций поведения
Описание:
Создать функцию, которая возвращает другую функцию с заданным поведением изменения числа.
Требования:
- task_generator(level)
- уровни: увеличение, умножение, последовательность Фибоначчи
⸻
- Сортировка через функцию сравнения
Описание:
Реализовать сортировку списка без встроенного sorted, используя переданную функцию сравнения.
Требования:
- sort_by(key_func)
⸻
- Фабрика степеней
Описание:
Создать функцию, возвращающую функцию возведения в степень.
Требования:
- make_power(n) -> function
⸻
- Анализ функции на наборе значений
Описание:
Применить функцию к списку значений и вернуть статистику.
Требования:
- analyze(func, x_values)
- минимум, максимум, среднее
⸻
- Частичное применение аргументов
Описание:
Реализовать механизм фиксации части аргументов функции.
Требования:
- partial(func, *args_fixed)
⸻
- Простая система маршрутизации
Описание:
Реализовать вызов функций по строковым командам.
Требования:
- route(command)
- словарь команд → функций
⸻
- Ограничитель диапазона
Описание:
Создать функцию, которая ограничивает число заданным диапазоном.
Требования:
- clamp(min_v, max_v)
- возвращает функцию
⸻