feat: implement legacy shop management system and add task documentation files
CI Check / lint-and-check (push) Failing after 9s

This commit is contained in:
Dmitry Belan
2026-07-18 12:25:32 +03:00
parent 7e8afd2a7e
commit ee235ece10
14 changed files with 953 additions and 1 deletions
+17
View File
@@ -0,0 +1,17 @@
### Задача 6. Декораторы и время выполнения (Декораторы, Функции высшего порядка)
Напишите программу с декораторами для измерения производительности:
1. `timer(func)` — декоратор, который измеряет время выполнения функции. Выводит: *"Функция {название} выполнилась за {время} секунд"*. Используйте `time.time()`.
2. `repeat(n)` — декоратор с параметром, который запускает функцию `n` раз подряд и возвращает список результатов.
3. `cache_result(func)` — декоратор, который кэширует результат функции. Если функция вызывается с теми же аргументами, возвращает закэшированный результат, не выполняя функцию повторно. Используйте словарь для хранения кэша.
**Тесты:**
1. Создайте функцию `slow_calculation(x)`, которая делает `time.sleep(1)` и возвращает `x * 2`
2. Примените к ней декоратор `@timer`
3. Создайте функцию `fibonacci(n)` (рекурсивная) и примените `@cache_result`
4. Вызовите `fibonacci(35)` дважды и убедитесь, что второй раз выполняется мгновенно
5. Создайте функцию с декоратором `@repeat(3)` и проверьте, что она выполнилась 3 раза