import os
import time
todos = ["Запишите видео для дня 34", "Написать код для проекта"]
def show_header():
os.system("cls")
border = "════════════════════════════════════════"
print("\033[35m", border, "\033[0m", sep="")
print("{:^40}".format("\033[1;36m✨ Менеджер списков дел ✨\033[0m"))
print("\033[35m", border, "\033[0m", sep="", end="\n\n")
def pretty_print():
show_header()
if not todos:
print("\033[33mВаш список дел пуст!\033[0m")
else:
print("\033[1;34mВаш список дел:\033[0m")
for index in range(len(todos)):
print(f"{index + 1}. {todos[index]}")
time.sleep(1)
def add_todo():
show_header()
new_item = input("\033[32mВведите новое дело: \033[0m")
if new_item in todos:
print("\033[31mЭто дело уже есть в списке!\033[0m")
else:
todos.append(new_item)
print(f"\033[32mДобавлено: {new_item}\033[0m")
time.sleep(1)
def edit_todo():
pretty_print()
if not todos:
return
while True:
item_to_edit = input("\033[33mВведите дело для редактирования: \033[0m")
if item_to_edit not in todos:
print("\033[31mТакого дела нет в списке!\033[0m")
continue
else:
break
while True:
new_text = input("\033[33mВведите новый текст: \033[0m")
if new_text in todos:
print("\033[31mТакое дело уже есть в списке!\033[0m")
continue
else:
break
for i in range(len(todos)):
if todos[i] == item_to_edit:
todos[i] = new_text
print(f"\033[32mИзменено: '{item_to_edit}' → '{new_text}'\033[0m")
time.sleep(1)
def delete_todo():
pretty_print()
if not todos:
return
while True:
item_to_delete = input("\033[33mВведите дело для удаления: \033[0m")
if item_to_delete not in todos:
print("\033[31mТакого дела нет в списке!\033[0m")
continue
else:
break
for i in range(len(todos)):
if todos[i] == item_to_delete:
confirm = input(f"\033[31mВы уверены, что хотите удалить '{item_to_delete}'? (да/нет): \033[0m")
if confirm == "да":
todos.remove(item_to_delete)
print(f"\033[32mУдалено: {item_to_delete}\033[0m")
time.sleep(1)
def clear_all():
show_header()
if not todos:
print("\033[33mСписок уже пуст!\033[0m")
else:
confirm = input("\033[31mВы уверены, что хотите очистить весь список? (да/нет): \033[0m")
if confirm == "да":
todos.clear()
print("\033[32mСписок дел очищен!\033[0m")
time.sleep(1)
while True:
show_header()
print("1. 📋 Просмотреть список дел")
print("2. ➕ Добавить дело")
print("3. ✏️ Редактировать дело")
print("4. ❌ Удалить дело")
print("5. 🗑️ Очистить весь список")
print("6. 🚪 Выйти\n")
choice = input("\033[36mВыберите действие (1-6): \033[0m")
if choice == "1":
pretty_print()
input("\nНажмите Enter чтобы продолжить...")
elif choice == "2":
add_todo()
input("\nНажмите Enter чтобы продолжить...")
elif choice == "3":
edit_todo()
input("\nНажмите Enter чтобы продолжить...")
elif choice == "4":
delete_todo()
input("\nНажмите Enter чтобы продолжить...")
elif choice == "5":
clear_all()
input("\nНажмите Enter чтобы продолжить...")
elif choice == "6":
show_header()
print("\033[1;35mСпасибо за использование менеджера дел! До свидания! 👋\033[0m")
break
else:
print("\033[31mНеверный выбор! Попробуйте снова.\033[0m")
time.sleep(1)