# Практическое задание №3: Память и подтверждение действий ## Описание В этом проекте реализована простая консольная утилита, которая демонстрирует работу с памятью (сохраняет введённые пользователем данные) и подтверждением действий. Для улучшения визуального оформления используется библиотека **rich**. Основные возможности: - Ввод данных пользователем. - Сохранение введённых значений в памяти программы. - Запрос подтверждения перед выполнением критических операций. - Красивый вывод сообщений, ошибок и таблиц с помощью `rich`. ## Установка зависимостей ```bash # Создайте виртуальное окружение (необязательно) python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # Установите зависимости из requirements.txt pip install -r requirements.txt ``` `requirements.txt` содержит: ```text rich>=13.0.0 ``` ## Запуск проекта У вас есть два основных скрипта, которые можно запускать отдельно. ### 1. `memory_confirm.py` Главный скрипт, демонстрирующий работу памяти и подтверждения. ```bash python memory_confirm.py ``` Пример работы: ``` Введите имя: Alice Вы ввели: Alice Хотите сохранить это значение? (y/n): y Значение сохранено. Текущая память: ┌─────┬───────────┐ │ № │ Значение │ ├─────┼───────────┤ │ 1 │ Alice │ └─────┴───────────┘ ``` ### 2. `utils.py` Модуль с вспомогательными функциями (не запускается напрямую, но используется в `memory_confirm.py`). ## Пример использования ```python from utils import confirm_action, display_memory # Сохраняем данные data = "Привет мир" # Запрашиваем подтверждение перед сохранением if confirm_action(f"Сохранить '{data}'?"): memory.append(data) print("Данные сохранены.") else: print("Операция отменена.") # Показать содержимое памяти display_memory(memory) ``` > **Важно**: В примере выше переменная `memory` должна быть объявлена как список в глобальной области видимости скрипта. ## Структура проекта ```text . ├── memory_confirm.py # Основной исполняемый файл ├── utils.py # Модуль вспомогательных функций ├── requirements.txt # Список зависимостей └── README.md # Это руководство ``` --- Если возникнут вопросы, обращайтесь в раздел Issues проекта. Happy coding!