Making a Purchase Bug?


#1



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


The error message I am getting is the following:
"Oops, try again. compute_bill(['apple']) resulted in a TypeError: list indices must be integers, not str"


I don't understand why it says compute_bill(['apple']), that's not even in my code?


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:
        total += food[item]
    return total


#2

You are not adding to the total from the food item but from th e prices item,

so your code should be,

total += prices[item]


#3

Huh, that does seem to be the solution. I think I understand why it works that way too, but I'll have to think about it a bit more to fully grasp it. Either way, thanks for the help!


#4

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