Files
dz/solutions/69a474cdc46fd26feae69896_Практическое_задание__3__Память_и_подтве

Практическое задание №3: Память и подтверждение действий

Описание

В этом проекте реализована простая консольная утилита, которая демонстрирует работу с памятью (сохраняет введённые пользователем данные) и подтверждением действий. Для улучшения визуального оформления используется библиотека rich.

Основные возможности:

  • Ввод данных пользователем.
  • Сохранение введённых значений в памяти программы.
  • Запрос подтверждения перед выполнением критических операций.
  • Красивый вывод сообщений, ошибок и таблиц с помощью rich.

Установка зависимостей

# Создайте виртуальное окружение (необязательно)
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate

# Установите зависимости из requirements.txt
pip install -r requirements.txt

requirements.txt содержит:

rich>=13.0.0

Запуск проекта

У вас есть два основных скрипта, которые можно запускать отдельно.

1. memory_confirm.py

Главный скрипт, демонстрирующий работу памяти и подтверждения.

python memory_confirm.py

Пример работы:

Введите имя: Alice
Вы ввели: Alice
Хотите сохранить это значение? (y/n): y
Значение сохранено.
Текущая память:
┌─────┬───────────┐
│ №   │ Значение  │
├─────┼───────────┤
│ 1   │ Alice     │
└─────┴───────────┘

2. utils.py

Модуль с вспомогательными функциями (не запускается напрямую, но используется в memory_confirm.py).

Пример использования

from utils import confirm_action, display_memory

# Сохраняем данные
data = "Привет мир"

# Запрашиваем подтверждение перед сохранением
if confirm_action(f"Сохранить '{data}'?"):
    memory.append(data)
    print("Данные сохранены.")
else:
    print("Операция отменена.")

# Показать содержимое памяти
display_memory(memory)

Важно: В примере выше переменная memory должна быть объявлена как список в глобальной области видимости скрипта.

Структура проекта

.
├── memory_confirm.py   # Основной исполняемый файл
├── utils.py            # Модуль вспомогательных функций
├── requirements.txt    # Список зависимостей
└── README.md           # Это руководство

Если возникнут вопросы, обращайтесь в раздел Issues проекта. Happy coding!