Добавлена функция generate_report
This commit is contained in:
parent
fab181ddbe
commit
794284aa29
30
zadanie_1.py
30
zadanie_1.py
@ -106,4 +106,32 @@ def get_unique_items(orders: list[dict]) -> set[str]:
|
||||
"""
|
||||
Возвращает множество уникальных item_name.
|
||||
"""
|
||||
return {order['item_name'] for order in orders}
|
||||
return {order['item_name'] for order in orders}
|
||||
|
||||
|
||||
# 9. Генерация текстового отчета
|
||||
def generate_report(stats: dict) -> str:
|
||||
"""
|
||||
stats ожидается с ключами:
|
||||
- unique_users (int)
|
||||
- total_revenue (float)
|
||||
- most_expensive_item (tuple (name, price))
|
||||
- unique_items (set или list)
|
||||
"""
|
||||
report_lines = []
|
||||
report_lines.append("=" * 50)
|
||||
report_lines.append("ОТЧЕТ ПО ЗАКАЗАМ ИНТЕРНЕТ-МАГАЗИНА")
|
||||
report_lines.append("=" * 50)
|
||||
report_lines.append(f"Всего уникальных пользователей: {stats['unique_users']}")
|
||||
report_lines.append(f"Общая выручка (без скидок): {stats['total_revenue']:.2f} руб.")
|
||||
|
||||
item_name, item_price = stats['most_expensive_item']
|
||||
report_lines.append(f"Самый дорогой товар: {item_name} (цена за ед.: {item_price:.2f} руб.)")
|
||||
|
||||
report_lines.append(f"Уникальных товаров в ассортименте: {len(stats['unique_items'])}")
|
||||
report_lines.append("Список товаров:")
|
||||
for item in sorted(stats['unique_items']):
|
||||
report_lines.append(f" - {item}")
|
||||
|
||||
report_lines.append("=" * 50)
|
||||
return "\n".join(report_lines)
|
||||
Loading…
Reference in New Issue
Block a user