Я изучаю python, и у меня есть простая проблема с моей программой. У меня есть два словаря с ключами в виде строки и значения, связанные с ними. Допустим, что это магазин с фруктами и ценами.Уменьшение значения в словаре
shopping_list = ["banana", "orange", "apple"]
stock = {
"banana": 6,
"apple": 0,
"orange": 32,
"pear": 15
}
prices = {
"banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3
}
# Function to calculate the bill
def compute_bill(food):
total = 0
for number in food:
if (stock[number]>0):
total += prices[number]
stock[number] -= 1
return total
print compute_bill(shopping_list)
Если фрукты в наличии, добавьте цену на счет и уменьшите сумму на складе. Если нет, ничего не делайте.
Сообщение об ошибке:
вызова compute_bill со списком, содержащим 1 яблоко, 1 груша и 1 банан в результате 0 вместо правильного 7
Я не знаю, почему этот код не работает правильно.
получить обратно оттуда. Вы хотите, чтобы все элементы запускались до завершения функции. –
так он все еще не работает? –
@ Ev.Kounis работает сейчас. Одна лишняя строка. :) – Maltesse