Estou Preso nesse Exercício 12 Estocando


#1

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
}

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

#Dar o seguinte Erro:

"Oops, tente outra vez. chamar compute_bill com uma lista contando 1 macas, 1 peras and 1 bananas resultou em 4 em vez do esperado 7"


#3

Era só identação mesmo no final do código. Siga as quantidades de tabs descritas.

shopping_list = ["banana", "laranja", "maca"]
stock = {
"banana": 6, # 1 tab no inicio.
"maca": 0, # 1 tab no inicio.
"laranja": 32, # 1 tab no inicio.
"pera": 15 # 1 tab no inicio.
}
prices = {
"banana": 4, # 1 tab no inicio.
"maca": 2, # 1 tab no inicio.
"laranja": 1.5, # 1 tab no inicio.
"pera": 3 # 1 tab no inicio.
}
def compute_bill(food):
total = 0 # 1 tab no inicio.
for key in food: # 1 tab no inicio.
if stock[key] > 0: # 2 tabs no inicio.
total += prices[key] # 3 tabs no inicio.
stock[key] -= 1 # 3 tabs no inicio.
return total # 1 tab no inicio.


#4

Eu acho que tenho o meu código bem mas também não consig fazer com que o site me deixe continuar... Faz umas contas esquisitas e diz que o resultado devolvido devia ser um e não o que setá realmente correcto...

Este é o meu código que está a fazer as contas correctas e a decrementar o stock de acordo...
Já fiz as contas à mão e dão certo!

https://ideone.com/hk4cB3

No entanto o site está a dar resultados malucos!


#5

O meu problema era só o return no lugar errado. Obrigada por explicar


#6

eu acredito que seja porque nessa linha:
total += prices[key]
ele simplismente pega como o preço de um produto só,só que a máquina escolhe tres produtos ao inves de somar os tres ele simplismente leva em consideração um, acredito que esse seja o erra mas também não sei arrumar...