# Реализовать структуру данных «Товары». Она должна представлять собой список кортежей.
# Каждый кортеж хранит информацию об отдельном товаре. В кортеже должно быть два элемента — номер
# товара и словарь с параметрами (характеристиками товара: название, цена, количество, единица измерения).
# Структуру нужно сформировать программно, т.е. запрашивать все данные у пользователя.

# Пример готовой структуры:
# [
# (1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}),
# (2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}),
# (3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”})
# ]

# Необходимо собрать аналитику о товарах. Реализовать словарь, в котором каждый ключ — характеристика товара,
# например название, а значение — список значений-характеристик, например список названий товаров.
# Пример:
# {
# “название”: [“компьютер”, “принтер”, “сканер”],
# “цена”: [20000, 6000, 2000],
# “количество”: [5, 2, 7],
# “ед”: [“шт.”]
# }

user_goods = []
goods_count = 1

while input('Если желаете добавить товар, введите "y": ') == 'y':
    good_data = {}
    while input(f'Введите "y", если желаете добавить характеристики товара №{goods_count}: ') == 'y':
        good_key = input('Введите ключ: ')
        good_value = input('Введите значение: ')
        good_data[good_key] = good_value
    user_goods.append(tuple([goods_count, good_data]))
    goods_count += 1

print(f'Исходные данные: {user_goods}')
analytics = {}

for good in user_goods:
    for key, value in good[1].items():
        if key in set(analytics) and value not in set(analytics[key]):
            analytics[key].append(value)
        else:
            analytics[key] = [value]

print(f'Результат: {analytics}')
