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

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

info = """
Введите команду: 
add - добавить товар
show_list - показать структуру товара
show_result - показать результат 
exit - выход из приложения
: """

number_product = 1
list_products = []

while True:

    cmd = input(info)

    if cmd == "add":
        name = input("Введите название товара: ")
        price = int(input("Введите цену: "))
        number = int(input("Введите количество: "))
        unit = input("Введите единицу измерения: ")

        tmp_dick = {"название": f"{name}", "цена": f"{price}", "количество": f"{number}", "ед": f"{unit}"}
        list_products.append((number_product, tmp_dick))

        number_product = number_product + 1

    elif cmd == "show_list":
        print(list_products)

    elif cmd == "show_result":
        result_dick = {"название": [], "цена": [], "количество": [], "ед": []}

        for i in list_products:
            for key, val in i[1].items():
                if val not in result_dick.get(key):
                    result_dick[key].append(val)

        print(result_dick)

    elif cmd == "exit":
        break
    else:
        print("Неверная команда")

print("Конец")
