Files
Dmitry Belan ee235ece10
CI Check / lint-and-check (push) Failing after 9s
feat: implement legacy shop management system and add task documentation files
2026-07-18 12:25:32 +03:00

40 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### Задача 7. Система управления задачами (ООП, Композиция, Enum)
**Постановка**
* **Приоритет:** Enum с уровнями LOW, MEDIUM, HIGH.
* **Задача:** Имеет название, описание, приоритет и статус (выполнена/не выполнена).
* **Менеджер задач:** Управляет списком задач, может фильтровать по приоритету.
**Задание**
**Enum `Priority`:**
1. Импортируйте `Enum` из модуля `enum`.
2. Создайте класс `Priority(Enum)` с тремя значениями: `LOW = 1`, `MEDIUM = 2`, `HIGH = 3`.
**Класс `Task`:**
1. Создайте класс `Task`.
2. В `__init__(self, title, description, priority)` сохраните параметры и установите `completed = False`.
3. Метод `mark_completed(self)` — устанавливает `completed = True`.
4. Метод `__str__(self)` — возвращает строку: `"[HIGH] Задача: Исправить баг (Не выполнена)"`.
**Класс `TaskManager`:**
1. Создайте класс `TaskManager`.
2. В `__init__(self)` создайте пустой список `tasks`.
3. Метод `add_task(self, task)` — добавляет задачу в список.
4. Метод `get_by_priority(self, priority)` — возвращает список задач с указанным приоритетом.
5. Метод `get_incomplete(self)` — возвращает список невыполненных задач.
6. Метод `show_all(self)` — выводит все задачи циклом через `print`.
**Тесты:**
1. Создайте менеджер задач
2. Добавьте 5 задач с разными приоритетами
3. Отметьте 2 задачи как выполненные
4. Получите все задачи с приоритетом HIGH
5. Получите все невыполненные задачи
6. Выведите все задачи