Добавлена функция generate_report
This commit is contained in:
parent
fab181ddbe
commit
794284aa29
28
zadanie_1.py
28
zadanie_1.py
@ -107,3 +107,31 @@ def get_unique_items(orders: list[dict]) -> set[str]:
|
|||||||
Возвращает множество уникальных item_name.
|
Возвращает множество уникальных 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