Как вычесть значение из словаря при совпадении ключа в Python

Подскажите, пытаюсь решить задачу: есть словарь меню, где ключ название продукта, а значение - цена.

list1 = {'Чай': 20, 'Кофе': 30, 'Вода': 10, 'Сок':35}

У пользователя есть кошелек с деньгами:

wallet = 100

Далее, пользователь вводит напиток из меню и мне нужно в случае совпадения введенного напитка и ключа в словаре, вычесть стоимость из кошелька. Например, если пользователь выбрал "Чай", то 100 - 20 = 80 (остаток). Я понимаю, как это сделать через функции, расписывая каждое значение. Но такое подойдет, если словарь небольшой, а если там много ключей и значений, то как это реализовать автоматически я не знаю. Заранее спасибо за советы.


Ответы (1 шт):

Автор решения: Эникейщик

Зачем же расписывать каждое значение-то? Надо просто использовать то, что ввел пользователь, в качестве ключа:

list1 = {'чай': 20, 'кофе': 30, 'вода': 10, 'сок':35}
wallet = 100

while wallet > 0:
    product = input("Чего изволите купить? ")
    if product.lower() in list1.keys():
        wallet -= list1[product] # новый баланс
        if wallet < 0: # если недостаточно денег
            wallet += list1[product]
            print("Недостаточно денег.")
            print(f"{product.capitalize()} стоит {list1[product]} монет, а у вас всего {wallet}.")
            break 
    else:
        print("Такого нет в продаже.")
    print(f"У вас осталось {wallet} монет.")
→ Ссылка