2017-02-12 102 views
0

所以,虽然写一些代码来计算总的购物清单中,我写了这个代码(在Codecademy网站):'for'循环出了什么问题?

shopping_list = ["banana", "orange", "apple"] 

stock = { 
    "banana": 6, 
    "apple": 0, 
    "orange": 32, 
    "pear": 15 
} 

prices = { 
    "banana": 4, 
    "apple": 2, 
    "orange": 1.5, 
    "pear": 3 
} 

# Write your code below! 
def compute_bill(food): 
    total = 0 
    for item in food: 
     if stock[item] > 0: 
      total = total + prices[item] 
      value = stock[item] - 1 
      return value 
    return total 

现在,当我运行它,它不给一个错误,但它说,当梨,苹果和香蕉在购物单上时,它会给出答案'5',而不是'7'。我查看了代码,只是找不到我出错的地方。

+2

请加上函数调用。 – ayhan

+0

我不明白你的意思吗?这是我拥有的一切。 –

+2

“食物”的价值是什么? –

回答

0

只是删除从return value for循环:

​​

请注意,您输入的数据,有一个在股票没有苹果。因此,只能从购物清单中购买一个香蕉和一个橙子,总价格为5.5

print compute_bill(shopping_list) 
5.5 
stock : {'orange': 31, 
     'pear': 15, 
     'banana': 5, 
     'apple': 0}