35 Улучшенный to-do список

Run Settings
LanguagePython
Language Version
Run Command
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)
Editor Settings
Theme
Key bindings
Full width
Lines