Практическое задание №3: Память и подтверждение действий: README.md
This commit is contained in:
+61
-36
@@ -1,16 +1,18 @@
|
|||||||
# Практическое задание №3: Память и подтверждение действий
|
# Практическое задание №3: Память и подтверждение действий
|
||||||
|
|
||||||
## Описание
|
## Описание
|
||||||
В этом проекте реализована простая консольная утилита, которая демонстрирует работу с памятью (сохраняет введённые данные в список) и подтверждением пользовательских действий. Для красивого вывода использована библиотека **rich**.
|
В этом проекте реализована простая консольная утилита, которая демонстрирует работу с памятью (сохраняет введённые пользователем данные) и подтверждением действий. Для улучшения визуального оформления используется библиотека **rich**.
|
||||||
|
|
||||||
- Пользователь вводит произвольный текст.
|
Основные возможности:
|
||||||
- Текст сохраняется в памяти программы.
|
- Ввод данных пользователем.
|
||||||
- После каждого ввода программа запрашивает подтверждение продолжения (`y/n`).
|
- Сохранение введённых значений в памяти программы.
|
||||||
- При выборе `n` выводится список всех введённых строк и приложение завершается.
|
- Запрос подтверждения перед выполнением критических операций.
|
||||||
|
- Красивый вывод сообщений, ошибок и таблиц с помощью `rich`.
|
||||||
|
|
||||||
## Установка зависимостей
|
## Установка зависимостей
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Создайте виртуальное окружение (необязательно, но рекомендуется)
|
# Создайте виртуальное окружение (необязательно)
|
||||||
python -m venv .venv
|
python -m venv .venv
|
||||||
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
||||||
|
|
||||||
@@ -18,49 +20,72 @@ source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
`requirements.txt` содержит только одну строку:
|
`requirements.txt` содержит:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
rich>=13.0.0
|
rich>=13.0.0
|
||||||
```
|
```
|
||||||
|
|
||||||
## Запуск проекта
|
## Запуск проекта
|
||||||
В корне репозитория находится скрипт `main.py`. Для его запуска выполните:
|
|
||||||
|
У вас есть два основных скрипта, которые можно запускать отдельно.
|
||||||
|
|
||||||
|
### 1. `memory_confirm.py`
|
||||||
|
Главный скрипт, демонстрирующий работу памяти и подтверждения.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python main.py
|
python memory_confirm.py
|
||||||
```
|
```
|
||||||
|
|
||||||
### Что делает скрипт
|
Пример работы:
|
||||||
1. При запуске открывается интерактивный режим.
|
|
||||||
2. Пользователь вводит строку → она добавляется в список.
|
|
||||||
3. Появляется запрос: «Продолжить? (y/n)».
|
|
||||||
4. Если пользователь отвечает `n`, программа выводит все сохранённые строки и завершает работу.
|
|
||||||
|
|
||||||
## Пример использования
|
```
|
||||||
|
Введите имя: 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
|
```text
|
||||||
$ python main.py
|
.
|
||||||
Введите текст: Hello, world!
|
├── memory_confirm.py # Основной исполняемый файл
|
||||||
Вы хотите продолжить? (y/n): y
|
├── utils.py # Модуль вспомогательных функций
|
||||||
Введите текст: Как дела?
|
├── requirements.txt # Список зависимостей
|
||||||
Вы хотите продолжить? (y/n): n
|
└── README.md # Это руководство
|
||||||
|
|
||||||
Сохраненные данные:
|
|
||||||
- Hello, world!
|
|
||||||
- Как дела?
|
|
||||||
|
|
||||||
Программа завершена.
|
|
||||||
```
|
|
||||||
|
|
||||||
## Структура проекта
|
|
||||||
|
|
||||||
```
|
|
||||||
project/
|
|
||||||
├── main.py # Точка входа в программу
|
|
||||||
├── requirements.txt # Зависимости
|
|
||||||
└── README.md # Это руководство
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Если возникнут вопросы или понадобится расширить функциональность, смело открывайте issue!
|
Если возникнут вопросы, обращайтесь в раздел Issues проекта. Happy coding!
|
||||||
Reference in New Issue
Block a user