Making a Purchase Bug?


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


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]


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!


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