Не совсем в некоторых местах понятны условия задачи, но вот:
sales_data = {
"Спазмалгон": {"price": 300, "quantity": 10},
"Нурофен": {"price": 500, "quantity": 6},
"Тизин": {"price": 124, "quantity": 12},
"Назонекс": {"price": 750, "quantity": 4},
"Грипферон": {"price": 567, "quantity": 5},
"Боярышник": {"price": 320, "quantity": 20},
}
def calculate_sales_metrics(data):
total_revenue = 0
total_quantity = 0
total_price = 0
total_items = len(data)
min_price = float('inf')
max_price = float('-inf')
min_price_item = ''
max_price_item = ''
for item, details in data.items():
price = details['price']
quantity = details['quantity']
revenue = price * quantity
total_revenue += revenue
total_quantity += quantity
total_price += price
if price < min_price:
min_price = price
min_price_item = item
if price > max_price:
max_price = price
max_price_item = item
avg_price = total_price / total_items
avg_quantity = total_quantity / total_items
avg_revenue = total_revenue / total_items
return {
"total_revenue": total_revenue,
"avg_price": avg_price,
"avg_quantity": avg_quantity,
"avg_revenue": avg_revenue,
"max_price_item": max_price_item,
"min_price_item": min_price_item,
"max_price": max_price,
"min_price": min_price
}
metrics = calculate_sales_metrics(sales_data)
print(f"Общая выручка: {metrics['total_revenue']} руб.")
print(f"Средняя цена: {metrics['avg_price']} руб.")
print(f"Среднее количество продаж: {metrics['avg_quantity']} шт.")
print(f"Средняя выручка: {metrics['avg_revenue']} руб.")
print(f"Товар с максимальной ценой: {metrics['max_price_item']} ({metrics['max_price']} руб.)")
print(f"Товар с минимальной ценой: {metrics['min_price_item']} ({metrics['min_price']} руб.)")
Данные о продажах представлены в виде словаря.
Необходимо разработать приложение с использованием функций, чтобы на выходе можно было получить:
средние данные о продажах,
выручке,
ценах,
а также максимальное и минимальное значение.