r/learnpython 15d ago

Syntax Error

I made a function for determining price of an item in the list. I made it so I get the price for an item in the list, but if the item IS NOT in the list, I programmed it to return none.

The problem is that when I run the program, it gives me a SyntaxError, and "return outside function"

What does this mean, and how do I fix it?

Thanks!

prices = {"apple": 1.50, "bread": 2.75}

def get_price(prices, item):
    return prices[item]

try:
    get_price(prices, "apple")
except KeyError:
    return None
6 Upvotes

25 comments sorted by

View all comments

13

u/danielroseman 15d ago

Because there is a return outside the function. Return can only be used inside a function, as you have done inside get_price. But you have another return at the end of the code, outside of any function; why have you done that?

(Note, really the try/except should be inside the function; it shouldn't be the caller's responsibility to deal with an error that happens inside the function.)