Stocking Out help


#1



https://www.codecademy.com/en/courses/python-beginner-en-IZ9Ra/2/3?curriculum_id=4f89dab3d788890003000096#


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


#2

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


#3

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]
stock[item]-=1
return total

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


#4

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