Nao consigo resolver a questão


#1

Resolvendo o exercício, conforme código abaixo:
shopping_list = ["banana", "laranja", "maca"]
stock = {
"banana": 6,
"maca": 0,
"laranja": 32,
"pera": 15
}
prices = {
"banana": 4,
"maca": 2,
"laranja": 1.5,
"pera": 3
}

Escreva seu codigo abaixo!

def compute_bill (food):
total = 0
for key in food:
if stock[key] > 0:
total += prices[key]
print stock[key]
stock[key] = stock[key] - 1
return total

compute_bill(shopping_list)

apresenta o seguinte erro: Oops, tente outra vez. stock nao parece certo! Tenha certeza de nao chamar compute_bill, ja que ele muda o estoque! Ele deve conter: {'pera': 15, 'laranja': 32, 'banana': 6, 'maca': 0}

Alguém saberia a solução exata desse exercício?


#2

Você está chamando a função compute_bill() e não precisa. Veja na mensagem de erro ele dizendo: ..."Tenha certeza de nao chamar compute_bill, ja que ele muda o estoque!"


#3

Cara, eu achei na net tbm, não estava conseguindo resolver... segue o codigo que achei...
shopping_list = ["banana", "laranja", "maca"]

stock = {
"banana": 6,
"maca": 0,
"laranja": 32,
"pera": 15
}

prices = {
"banana": 4,
"maca": 2,
"laranja": 1.5,
"pera": 3
}

def compute_bill(food):
total = 0
for item in food:
if stock[item] > 0:
total += prices[item]
stock[item] -= 1
return total