В вашем распоряжении находится склад, обладающий функционалом для управления товарными запасами. Данный склад предоставляет возможность динамического добавления и удаления продуктов, а также настройки их атрибутов, таких как наименование, срок годности и другие релевантные параметры. products_storage
products_storage — консольное приложение для базового управления складскими запасами. Система предназначена для учета товаров, их количества и сроков годности, а также для выполнения операций поиска и анализа данных.
'Проект реализован на языке Python с использованием стандартных библиотек и ориентирован на демонстрацию базовых принципов работы со структурами данных, обработкой строк и пользовательским вводом.'
Функциональные возможности:
• Добавление товаров с указанием количества и срока годности • Добавление товаров на основе текстовой строки • Поиск товаров по подстроке • Расчет общего количества товаров • Определение просроченных и истекающих товаров • Отображение полного списка товаров
Модель данных:
Данные хранятся в оперативной памяти в следующем формате:
goods = {"Название товара": [ { "amount": Decimal, "expiration_date": date | None } ]}
• Один товар может содержать несколько партий • Каждая партия хранит количество и срок годности • Для работы с количеством используется тип Decimal Основные функции: • add(items, title, amount, expiration_date=None) --- Добавляет запись о товаре в систему • add_by_note(items, note) --- Преобразует текстовую строку в структурированные данные и добавляет товар • find(items, needle) --- Выполняет поиск товаров по подстроке без учета регистра • get_amount(items, needle) --- Возвращает суммарное количество найденных товаров • get_expired(items, in_advance_days=0) --- Возвращает список товаров с истекшим или истекающим сроком годности
Требования:
- Python 3.x
Запуск:
- Скопировать исходный код в файл warehouse.py
- Запустить приложение командой: -python products_storage.py
Пользовательский интерфейс:
Приложение предоставляет текстовое меню: • Добавить товар • Добавить товар из заметки • Найти сумму товаров по подстроке • Найти просроченные товары • Показать все товары • Выход
Ограничения:
! Отсутствует сохранение данных между запусками ! Не реализована расширенная проверка пользовательского ввода ! Отсутствуют автоматические тесты ! Интерфейс ограничен консольным режимом ! Возможные улучшения ! Реализация сохранения данных (JSON, база данных) ! Разделение логики приложения и пользовательского интерфейса ! Улучшение обработки ошибок и валидации данных ! Добавление тестов ! Разработка графического интерфейса