Программа должна быть реализована на языке 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).
Анастасия
УргэуСИНХ
Спасибо большое Ирине! Выполнила все за 2 часа! Определенно лучший исполнитель
Юлия
Мгту
Обращаюсь в 1000 раз. Работа всегда сделана на Ура! Выручает в трудные минуты
Мария
ВлГУ
Быстро,качественно, мастер своего дела. Рекомендую выбирать исполнителя.
максим
СГУВТ
Обращайтесь к Сергею не задумываясь. Всё сделал как положено да сверх нормы. Были определе...