JustCaptain kod-buduschego
b2eaa8da9b02e1bfb94cf3e9a886e8d0158a4f36
Перейти к файлу
Код
TASKS.md
  1. Простой арифметический диспетчер

Описание:
Создать набор функций для базовых операций: сложение, вычитание, умножение, деление.
Реализовать функцию-диспетчер, которая принимает строковый оператор и два числа, и вызывает нужную функцию.

Требования:

  • функции: add, sub, mul, div
  • dispatch(op, a, b)
  • обработка деления на ноль

⸻

  1. Мини-калькулятор строкового выражения

Описание:
Реализовать функцию, которая принимает строку вида "12 + 7" и возвращает результат вычисления.

Требования:

  • функция calc(expr: str)
  • поддержка + - * /
  • запрещено использовать eval

⸻

  1. Функции высшего порядка

Описание:
Создать функцию, которая принимает другую функцию и список чисел, применяет её ко всем элементам списка и возвращает результат.

Требования:

  • apply(func, data)
  • data — список чисел
  • func — любая функция

⸻

  1. Реализация map и filter

Описание:
Реализовать собственные версии стандартных функций map и filter.

Требования:

  • my_map(func, iterable)
  • my_filter(func, iterable)
  • без использования встроенных map, filter

⸻

  1. Композиция функций

Описание:
Создать функцию, которая объединяет несколько функций в цепочку выполнения.

Требования:

  • pipe(*funcs)
  • результат одной функции передаётся следующей

⸻

  1. Декоратор кэширования

Описание:
Реализовать декоратор, который сохраняет результаты вызова функции и повторно их использует при одинаковых аргументах.

Требования:

  • cache(func)
  • поддержка позиционных и именованных аргументов

⸻

  1. Ограничение числа вызовов

Описание:
Создать декоратор, ограничивающий количество вызовов функции.

Требования:

  • limit_calls(n)
  • после превышения лимита функция не выполняется

⸻

  1. Рекурсивные проверки строк

Описание:
Реализовать функции, работающие только через рекурсию.

Требования:

  • проверка палиндрома
  • проверка корректности скобок

⸻

  1. Генератор функций поведения

Описание:
Создать функцию, которая возвращает другую функцию с заданным поведением изменения числа.

Требования:

  • task_generator(level)
  • уровни: увеличение, умножение, последовательность Фибоначчи

⸻

  1. Сортировка через функцию сравнения

Описание:
Реализовать сортировку списка без встроенного sorted, используя переданную функцию сравнения.

Требования:

  • sort_by(key_func)

⸻

  1. Фабрика степеней

Описание:
Создать функцию, возвращающую функцию возведения в степень.

Требования:

  • make_power(n) -> function

⸻

  1. Анализ функции на наборе значений

Описание:
Применить функцию к списку значений и вернуть статистику.

Требования:

  • analyze(func, x_values)
  • минимум, максимум, среднее

⸻

  1. Частичное применение аргументов

Описание:
Реализовать механизм фиксации части аргументов функции.

Требования:

  • partial(func, *args_fixed)

⸻

  1. Простая система маршрутизации

Описание:
Реализовать вызов функций по строковым командам.

Требования:

  • route(command)
  • словарь команд → функций

⸻

  1. Ограничитель диапазона

Описание:
Создать функцию, которая ограничивает число заданным диапазоном.

Требования:

  • clamp(min_v, max_v)
  • возвращает функцию

⸻