Stocking Out help


This is the error message that comes up: calling compute_bill with a list containing 1 apple, 1 pear and 1 banana caused the following error: global name 'item' is not defined

I'm not exactly sure what to do to correct this.

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 key in food:
        if stock[item] > 0:
            total += prices[key]
        stock[item] -= 1
    return total


Look at what you're doing with that name in your code, compare to what you intended, motivate why you'de be able to use it like you do


replace the variable key with item
Like this:
def compute_bill(food):
total = 0
for item in food:
if stock[item]>0:
total += prices[item]
return total

PS: thanks as I got an error which got fixed after glancing through your code... :wink:


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.