From e2e505de1cce915e906f71a657fd89b349e7de9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D1=80=D0=B8=D1=8F=20=D0=91=D0=B5=D1=80=D0=B4?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=D0=B0?= Date: Wed, 27 May 2026 08:39:18 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D0=BA=D0=BE=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=E2=84=963:=20=D0=9F=D0=B0=D0=BC=D1=8F=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B8=20=D0=BF=D0=BE=D0=B4=D1=82=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B5=D0=B9=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B8=D0=B9:=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md | 159 ++++++++++-------- 1 file changed, 86 insertions(+), 73 deletions(-) diff --git a/solutions/69a474cdc46fd26feae69896_Практическое_задание__3__Память_и_подтве/README.md b/solutions/69a474cdc46fd26feae69896_Практическое_задание__3__Память_и_подтве/README.md index 2c138fa..2a9439c 100644 --- a/solutions/69a474cdc46fd26feae69896_Практическое_задание__3__Память_и_подтве/README.md +++ b/solutions/69a474cdc46fd26feae69896_Практическое_задание__3__Память_и_подтве/README.md @@ -1,109 +1,122 @@ -# Практическое задание №3 -**Тема:** Память и подтверждение действий +# Практическое задание №3: Память и подтверждение действий ---- +## Описание +В этом проекте реализована простая консольная программа, демонстрирующая работу с памятью и подтверждением пользовательских действий. Программа использует библиотеку **rich** для красивого вывода текста в терминале. -## Описание проекта - -В этом проекте реализованы два простых скрипта, демонстрирующих работу с памятью (сохранением данных в файл) и механизмом подтверждения пользовательских действий. -- **`memory.py`** – сохраняет введённые пользователем данные в JSON‑файл и умеет их загружать обратно. -- **`confirm_action.py`** – запрашивает у пользователя подтверждение перед выполнением опасной операции (например, удаление файла). - ---- +Основные возможности: +- Запоминание введённых пользователем данных. +- Подтверждение выполнения действия (например, удаление записи). +- Интерактивный интерфейс с подсказками и цветным выводом. ## Установка зависимостей -Проект использует только стандартную библиотеку Python 3.x, поэтому дополнительных пакетов не требуется. - ```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.py` -Скрипт демонстрирует сохранение и загрузку данных. +## Запуск программы + +В проекте есть два скрипта, которые можно запускать отдельно. + +### 1. `memory_confirm.py` +Главный файл приложения. ```bash -python memory.py +python memory_confirm.py ``` -Пример работы: +После запуска вы увидите меню: ``` -Введите имя: Иван -Введите возраст: 30 -Данные успешно сохранены в data.json. -Загружаем данные... -Имя: Иван, Возраст: 30 +[bold cyan]=== Меню ===[/] +1. Добавить запись +2. Показать все записи +3. Удалить запись +4. Выход +Введите номер действия: ``` -### 2. `confirm_action.py` -Скрипт запрашивает подтверждение перед удалением файла. +Выберите нужный пункт, следуйте подсказкам. + +### 2. `demo.py` +Пример использования функций из проекта (можно использовать как модуль). ```bash -python confirm_action.py path/to/file.txt +python demo.py ``` -Пример работы: +Он демонстрирует добавление и удаление записей без интерактивного меню. +## Пример использования + +```text +$ python memory_confirm.py + +[bold cyan]=== Меню ===[/] +1. Добавить запись +2. Показать все записи +3. Удалить запись +4. Выход +Введите номер действия: 1 + +Введите текст для сохранения: Hello, world! +[green]Запись успешно добавлена![/] + +[bold cyan]=== Меню ===[/] +1. Добавить запись +2. Показать все записи +3. Удалить запись +4. Выход +Введите номер действия: 2 + +[bold magenta]Список записей:[/] +0: Hello, world! + +[bold cyan]=== Меню ===[/] +1. Добавить запись +2. Показать все записи +3. Удалить запись +4. Выход +Введите номер действия: 3 + +Выберите индекс записи для удаления (0): +Подтвердите удаление (y/n): y +[red]Запись удалена.[/] + +[bold cyan]=== Меню ===[/] +1. Добавить запись +2. Показать все записи +3. Удалить запись +4. Выход +Введите номер действия: 4 + +До свидания! ``` -Вы уверены, что хотите удалить файл 'file.txt'? (y/n): n -Операция отменена. -``` - ---- - -## Пример использования в коде - -```python -# memory_example.py -from memory import MemoryHandler - -handler = MemoryHandler('data.json') -handler.save({'name': 'Алексей', 'age': 25}) -print(handler.load()) -``` - -```python -# confirm_example.py -import sys -from confirm_action import confirm_and_execute - -if len(sys.argv) != 2: - print("Usage: python confirm_example.py ") - sys.exit(1) - -file_path = sys.argv[1] -confirm_and_execute(file_path, lambda p: os.remove(p)) -``` - ---- ## Структура проекта -``` -project/ -├── memory.py -├── confirm_action.py -├── data.json # создаётся при первом запуске memory.py -└── README.md -``` +- `memory_confirm.py` – основной скрипт с интерактивным меню. +- `demo.py` – демонстрационный скрипт, показывающий работу функций без пользовательского ввода. +- `requirements.txt` – список зависимостей. --- -## Автор +**Примечание:** +Если вы используете Windows PowerShell, замените команду запуска на: -- **Имя Фамилия** – разработчик -- Контакт: email@example.com +```powershell +python .\memory_confirm.py +``` ---- - -*Если возникнут вопросы, обращайтесь в Issues.* \ No newline at end of file +--- \ No newline at end of file