Тема 2. Коммит 2: Интерактивное меню
- Полная переработка main.py - Добавлено интерактивное меню - Интеграция с TaskManager - Демонстрационные задачи при запуске
This commit is contained in:
1 parent
7e236a5782
commit
1c9e4a3ba8
1 file changed
+49
-10
@@ -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__":
|
||||
|
||||
Reference in new issue
Block a user