2017-02-12 78 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}