# *Реализовать структуру данных «Товары». Она должна представлять собой список кортежей.
# Каждый кортеж хранит информацию об отдельном товаре. В кортеже должно быть два элемента —
# номер товара и словарь с параметрами, то есть характеристиками товара: название, цена, количество, единица измерения.
# Структуру нужно сформировать программно, запросив все данные у пользователя.
# Пример готовой структуры:
# [
#     (1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}),
#     (2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}),
#     (3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”})
# ]
# Нужно собрать аналитику о товарах. Реализовать словарь, в котором каждый ключ — характеристика товара,
# например, название. Тогда значение — список значений-характеристик, например, список названий товаров.
#
# Пример:
# {
#     “название”: [“компьютер”, “принтер”, “сканер”],
#     “цена”: [20000, 6000, 2000],
#     “количество”: [5, 2, 7],
#     “ед”: [“шт.”]
# }

goods = []
item_number = 1
while True:
    item = {}
    item['название'] = input(f'Введите название товара {item_number}:\n')
    item['цена'] = float(input(f'Введите цену товара {item_number}:\n'))
    item['количество'] = float(input(f'Введите количество товара {item_number}:\n'))
    item['единица измерения'] = input(f'Введите единицу измерения товара {item_number}:\n')
    item_enumerated = (item_number, item)
    goods.append(item_enumerated)
    item_number += 1
    next = input('Введите любой символ для ввода следующего предмета или q чтобы закончить\n')
    if next == 'q':
        break

print(goods)

analytics = {}
for item in goods:
    for trait in item[1]:
        if trait not in analytics.keys():
            analytics[trait] = [item[1][trait]]
        else:
            analytics[trait].append(item[1][trait])
            analytics[trait] = list(set(analytics[trait]))  # чтобы избежать дубликатов как в примере (графа "ед")

print(analytics)
