Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

I keep getting this hint:

“When apply_discount is called with a price (first argument) that is not a number (int or float) it should return The price should be a number.”

Here is my code:

def apply_discount(price, discount):
if not isinstance(price, (int, float)):
return “The price should be a number.”
if not isinstance(discount, (int,float)):
return “The discount should be a number.”

What am I missing? Any help is appreciated.

Your code so far

def apply_discount(price, discount):
    if not isinstance(price, (int, float)):
        return "The price should be a number."
    if not isinstance(discount, (int,float)):
        return "The discount should be a number."
    if price <= 0:
        return "The price should be greater than 0."
    if discount < 0 or discount > 100:
        return "The discount should be between 0 and 100."
        final_price = price * (1 - discount / 100)
        return final_price
apply_discount(100, 20)
apply_discount(200, 50)
apply_discount(50, 0)
apply_discount(74.5, 20.0)

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0

Challenge Information:

Build an Apply Discount Function - Build an Apply Discount Function

Welcome to the forum @RichardAlaniz ,

Please wrap your function calls in print() so you can see what your function is returning.

Happy coding!

I added the print function and NONE is what shows up on the right. Still with the same hint. I’m at a loss here.

Do you remember what it means when your function returns None?

It’s a falsey value.

Here is an excerpt from this theory lecture: Understanding Functions and Scope - How Do Functions Work in Python? | Learn | freeCodeCamp.org.

Functions also use a special return keyword to exit the function and return a value. If you don’t explicitly use return , Python will return None by default.

What am I missing?

Please post your updated code, not a screenshot.


I’ve edited your post to improve the readability of the code. When you enter a code block into a forum post, please precede it with three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (</>) to add the backticks.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (').