Необходимо написать программу на питоне, используя словари и объяснением,
Дана база данных о продажах некоторого интернет-магазина. Каждая строка входного файла
представляет собой запись вида
Покупатель товар количество, где
Покупатель — имя покупателя (строка без пробелов),
товар — название товара (строка без пробелов),
количество — количество приобретенных единиц товара.
Создайте список всех покупателей, а для каждого покупателя подсчитайте количество
приобретенных им единиц каждого вида товаров.
Формат ввода
Вводятся сведения о покупках в указанном формате.
Формат вывода
Выведите список всех покупателей в лексикографическом порядке,после имени каждого
покупателя выведите двоеточие, затем выведите список названий всех приобретенных
данным покупателем товаров в лексикографическом порядке, после названия каждого товара
выведите количество единиц товара, приобретенных данным покупателем.Информация о
каждом товаре выводится в отдельной строке.
Тест 1
Входные данные:
Ivanov paper 10
Petrov pens 5
Ivanov marker 3
Ivanov paper 7
Petrov envelope 20
Ivanov envelope 5
Вывод программы:
Ivanov:
envelope 5
marker 3
paper 17
Petrov:
envelope 20
pens 5
Объяснение:
from collections import defaultdict
from sys import stdin
clients = defaultdict(lambda: defaultdict(int))
for line in stdin.readlines():
client, thing, value = line.split()
clients[client][thing] += int(value)
for client in sorted(clients):
print(client + ':')
for thing in sorted(clients[client]):
print(thing, clients[client][thing])