Вывод функции исходя из значений, заданных пользователем
Подскажите, как правильно работать с функцией? Нужно осуществить вывод функции исходя из значений, заданных пользователем.
shop = {
"мучное": {
"хлеб": 200
},
"молочное":{
"молоко":50
},
"мясное": {
"говядина":500
}
}
name = input("Ваше имя:""\n""-> ")
while True:
if name.lower() == "admin":
choice = input("Введите 1, чтобы добавить товар в магазин \nВведите 2, чтобы удалить товар из магазина \nВведите 3, чтобы изменить цену на товар \nВведите 4, чтобы поставить % наценку на все товары\nВведите 5, чтобы добавить раздел в магазин\nВведите 6, чтобы вывести все товары из магазина\nВведите 7, чтобы вывести все товары из нужного раздела\n-> ")
if choice == "1":
user_group = input("В какой раздел добавить товар?:\n-> ")
product = input("Какой товар добавить?:\n-> ")
price_news = int(input("Цена на товар?:\n-> "))
def add_products(user_group, shop=shop, **products):
if user_group in shop:
shop[user_group].update(products)
elif user_group not in shop:
shop.update({user_group:{}})
shop[user_group].update(products)
add_products(user_group , product=price_news)
def print_all_products(shop=shop):
for group, array in shop.items():
print ("Раздел: " + group)
for product, price in array.items():
print(product + " - " + str(price))
print_all_products()
else:
print("Привет", name)
choice = input("Введите 1, чтобы вывести все товары из магазина\nВведите 2, чтобы вывести все товары из нужного раздела")
Подскажите, как тут прописать ('молочное', молоко=100)?
add_products(user_group , product=price_news)
Выдает product вместо товара "молоко"
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
так немножко проще код получится
def add_products(user_group, shop=shop, **products):
group = shop.setdefault(user_group, {})
group.update(products)
product = 'колбаса'
new_price = 150
add_products('гастрономия', **{product: new_price})
add_products('молочное', сметана=70)
add_products('молочное', сметана=90)
print(shop) # {'мучное': {'хлеб': 200}, 'молочное': {'молоко': 50, 'сметана': 90}, 'мясное': {'говядина': 500}, 'гастрономия': {'колбаса': 150}}