Программа должна быть реализована на языке Python версии >= 3. Файл с решением - либо исполняемы файл с расширением .py.
Представим, что в некотором магазине имеется склад с товарами разных цветов. Товары на складе хранятся в коробках, каждая коробка содержит товары одного вида и одного цвета. Также имеется информация о том, сколько стоит каждый товар (цена товара не зависит от цвета, а зависит лишь от наименования товара). На склад могут поступать заказы со следующей информацией - вид товара с цветом товара, количество штук товара. Ваша задача написать программу, которая будет создавать склад, считать стоимость всех товаров на складе, считать стоимость заказа.
Вход программы:
1) Информация о возможных названиях товаров. Информация о возможных названиях товаров должна представлять из себя упорядоченный список вида
items = [item_1, item_2, …, item_k]
где item_j - строка с названием товара, например “тетрадь”. Один из возможных примеров:
items= [“тетрадь”, “ручка”, “линейка”]
2) Информация о возможных цветах товаров. Информация о возможных цветах товаров должна представлять из себя упорядоченный список вида
colors = [color_1, color_2, …, color_k]
где color_j - строка с названием цвета, например “красный”. Один из возможных примеров:
colors = [“зеленый”, “красный”, “желтый”, “синий”]
3) Информация о ценах товаров. Информация о ценах должна представлять из себя словарь вида
costs = {item_1: cost_1, item_2: cost_2, …, item_n: cost_n}
где item_j - строка с названием товара, например “тетрадь”, cost_i - целое неотрицательное число, например 20. Набор [item_1, item_2, …, item_k] в точности совпадает с набором items из пункта 1). Один из возможных примеров:
costs = {“тетрадь”: 20, “ручка”: 15, “линейка”: 12}
Функции, реализуемые программой
Создание склада. Функция должна принимать на вход два параметра - items и colors и возвращать склад в виде списка:
storage = [box_1, box_2, …, box_m]
где box_j - коробка с номером j. Коробка box_j представляет из себя словарь:
box_j = {“item”: item_j, “color”: color_j, “quantity”: quantity_j}
где item_j - наименование товаров из коробки box_j, color_j - цвет товаров из коробки box_j, quantity_j - количество товаров в коробке box_j. Пример коробки:
box = {“item”: линейка, “color”: синий, “quantity”: 6}
Пример склада:
storage = [{“item”: линейка, “color”: синий, “quantity”: 6}, {“item”: тетрадь, “color”: красный, “quantity”: 2}, …, {“item”: тетрадь, “color”: зеленый, “quantity”: 9}]
Можно считать, что m=100, то есть на складе 100 коробок. Каждая коробка гененрируется случайным образом (коробке случайно присваивается значение из items, цвет из colors, quantity - число от 1 до 10)
Подсчет суммы стоимости товаров на складе. Функция должна принимать на вход один параметр - storage и возвращать число, сумму стоимости товаров на всем складе
Исполнение заказа. Функция должна принимать на вход два параметра - склад storage и заказ order. Заказ order приходит в таком же формате, что и скад:
order= [box_1, box_2, …, box_n]
где box_j - коробка с номером j из заказа.
Функция должна убирать из склада товары, присутствующие в заказе и возвращать обновленный склад. В обновленном складе не должно быть коробок, в которых quantity=0.
Тестирование функций. Нужно последовательно выполнить следующие функции: (1) Создать склад. (2) Рассчитать стоимость товаров на складе.
(3) Создать вручную небольшой заказ и рассчитать стоимость товаров в заказе. (4) Исполнить данный заказ. (5) Рассчитать стоимость товаров на обновленном складе. Эта стоимость должна быть равна сумме двух чисел - число из пункта (2) + число из пункта (3).
Анатолий
Уральский Федеральный Университет
Всё грамотно и все исправлено что просилось раньше срока. Подход к работе на все 360%
Дамир
УРГУПС
Работа была выполнена досрочно и должным образом, без замечаний. Благодарю за хорошо выпол...
Алексей
ЛГТУ
проблем не было. обратная связь моментальная. мастер своего дела) рекомендую!!!
Елена
НГТУ
Работа выполнена досрочно без замечаний. Исполнитель всегда на связи. Анну рекомендую!