diff --git a/main.py b/main.py index 28d7a57..69620f4 100644 --- a/main.py +++ b/main.py @@ -1,23 +1,62 @@ """ -Менеджер задач - Версия 1.0 -Основы Python: создание проекта +Менеджер задач - Версия 2.0 +Тема 2: Работа со списком задач """ from task import Task +from task_manager import TaskManager -def create_task(title, description=""): - """Создать новую задачу""" - return Task(title, description) +def print_menu(): + """Вывести меню программы""" + print("\n=== Менеджер задач ===") + print("1. Добавить задачу") + print("2. Показать все задачи") + print("3. Завершить задачу") + print("4. Статистика") + print("0. Выход") def main(): - print("Добро пожаловать в Менеджер задач!") - print("Версия 1.0") + manager = TaskManager() - # Создаём демонстрационную задачу - task = create_task("Изучить Python", "Основы языка") - print(f"\nСоздана задача: {task}") + # Добавим несколько демонстрационных задач + manager.add_task("Изучить Python", "Основы языка") + manager.add_task("Сделать проект", "Менеджер задач") + + while True: + print_menu() + choice = input("Выберите действие: ") + + if choice == "1": + title = input("Название задачи: ") + desc = input("Описание (необязательно): ") + manager.add_task(title, desc) + print("Задача добавлена!") + + elif choice == "2": + tasks = manager.list_tasks() + if tasks: + for i, task in enumerate(tasks, 1): + print(f"{i}. {task}") + else: + print("Список задач пуст") + + elif choice == "3": + idx = int(input("Номер задачи: ")) - 1 + task = manager.get_task_by_index(idx) + if task: + task.mark_complete() + print("Задача выполнена!") + + elif choice == "4": + print(f"Всего задач: {len(manager.list_tasks())}") + print(f"Выполнено: {manager.get_completed_count()}") + print(f"В ожидании: {manager.get_pending_count()}") + + elif choice == "0": + print("До свидания!") + break if __name__ == "__main__":