Build a Discount Calculator - Build a Discount Calculator

Tell us what’s happening:

It does not pass the step 4 and i don’t understand why. 4.When apply_discount is called with a discount (second argument) that is not a number (int or float) it should return The discount should be a number.

Your code so far

def apply_discount (price , discount):
    if price != int or float:
        return 'The price should be a number'
    elif discount != int or float :
        return 'The discount should be a number'
    elif price <= 0:
        return 'The price should be greater than 0'
    elif discount < 0 or discount > 100:
        return 'The discount should be between 0 and 100'
    else:
        total = price * discount / 100
        return total

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36

Challenge Information:

Build a Discount Calculator - Build a Discount Calculator

first, price != int or float is equivalent to (price != int) or (float), or requires a full expression on both sides

second, that is not the way to check if a variable is a certain data type, please review the lesson on that https://www.freecodecamp.org/learn/python-v9/lecture-understanding-variables-and-data-types/what-are-common-data-types-in-python-and-how-do-you-get-the-type-of-a-variable

Thank you., i understand now. Only a little suggestion, something that came up in the lesson, maybe should be a example of how to check for both data types at the same time. In the end of the lesson where it show four different cases, it could help others in the future. I found in another post in the forum.

you can always do it using not, or and and even without knowing that you can pass a tuple to isinstance

would you like to open an issue on github to propose this addition?