Тема 3. Коммит 3: Обновление main.py с сохранением

- Добавлены пункты меню: Сохранить, Загрузить
- Автозагрузка при старте приложения
- Автосохранение перед выходом
- Добавлено удаление задач (пункт 4)
This commit is contained in:
a-limasov committed 2026-08-28 12:23:30 +03:00
1 parent 1e0093db02
commit fb3874d58f
1 file changed
+27 -7
+27 -7
View File
@@ -1,6 +1,6 @@
""" """
Менеджер задач - Версия 2.0 Менеджер задач - Версия 3.0
Тема 2: Работа со списком задач Тема 3: Сохранение данных в файл
""" """
from task import Task from task import Task
@@ -13,16 +13,19 @@ def print_menu():
print("1. Добавить задачу") print("1. Добавить задачу")
print("2. Показать все задачи") print("2. Показать все задачи")
print("3. Завершить задачу") print("3. Завершить задачу")
print("4. Статистика") print("4. Удалить задачу")
print("5. Сохранить")
print("6. Загрузить")
print("7. Статистика")
print("0. Выход") print("0. Выход")
def main(): def main():
manager = TaskManager() manager = TaskManager()
# Добавим несколько демонстрационных задач # Автоматическая загрузка при старте
manager.add_task("Изучить Python", "Основы языка") manager.load()
manager.add_task("Сделать проект", "Менеджер задач") print("Данные загружены!")
while True: while True:
print_menu() print_menu()
@@ -50,12 +53,29 @@ def main():
print("Задача выполнена!") print("Задача выполнена!")
elif choice == "4": elif choice == "4":
idx = int(input("Номер задачи для удаления: ")) - 1
if manager.remove_task(idx):
print("Задача удалена!")
else:
print("Задача не найдена")
elif choice == "5":
manager.save()
print("Данные сохранены в tasks.json")
elif choice == "6":
manager.load()
print("Данные загружены из tasks.json")
elif choice == "7":
print(f"Всего задач: {len(manager.list_tasks())}") print(f"Всего задач: {len(manager.list_tasks())}")
print(f"Выполнено: {manager.get_completed_count()}") print(f"Выполнено: {manager.get_completed_count()}")
print(f"В ожидании: {manager.get_pending_count()}") print(f"В ожидании: {manager.get_pending_count()}")
elif choice == "0": elif choice == "0":
print("До свидания!") # Автосохранение перед выходом
manager.save()
print("Данные сохранены. До свидания!")
break break