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

goods = []
count_thing = 0
user_input = None

# Заполняем список товарами. Сразу проверяем, что числа должны быть числами:
while not user_input == 'нет':
    thing = {}
    count_thing += 1
    thing['Название'] = input('Введите название товара: ')
    while True:
        thing['Цена'] = input('Введите цену товара: ')
        if thing['Цена'].isdigit():
            thing['Цена'] = int(thing['Цена'])
            break
        else:
            print('Цена должна быть числом. Повторите ввод.')
    while True:
        thing['Количество'] = input('Введите количество товара: ')
        if thing['Количество'].isdigit():
            thing['Количество'] = int(thing['Количество'])
            break
        else:
            print('Количество должно быть числом. Повторите ввод.')
    thing['Ед.'] = input('Введите единицы измерения товара: ')

    # Добавляем словарь в список и делаем запрос на создание еще одного словаря.
    goods.append((count_thing, thing))
    user_input = input('Добавить еще один товар?\n'
                       'Введите \'нет\', чтобы завершить ввод или любой символ для продолжения: ')

# Создаем словарь для сбора аналитических данных.
analytics = dict.fromkeys(goods[0][1])

for feature in analytics.keys():
    new_set = set()
    for index, good in goods:
        new_set.add(good.get(feature))
    analytics[feature] = list(new_set)

print(goods)
print(analytics)
