Как вычесть значение из словаря при совпадении ключа в 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} монет.")