Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

I’ve seen that you guys said to print(apply_discount(74.5, 20.0)) to see whats wrong but i just don’t seem to find the solution

Your code so far

def apply_discount(price, discount):
    if not isinstance(price, int or float):
        return('The price should be a number')
    if not isinstance(discount, int or 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')
    discount = price * (discount/100)
    final_price = price - discount
    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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36

Challenge Information:

Build an Apply Discount Function - Build an Apply Discount Function

GitHub Link: freeCodeCamp/curriculum/challenges/english/blocks/lab-discount-calculator/695774002591bbc5f8cf3e53.md at main · freeCodeCamp/freeCodeCamp · GitHub

what does your function return? what do you see printed for this function call?

It says the price should be a number

but i still check on the isinstance for both occasions of floats and integers so i don’t understand whats wrong

you are not, int or float is not the way to use isinstance with multiple types

int or float first evaluates the two with the or operator, and then becomes int, so you are only checking if it’s an integer

please review this lesson on how to use the isinstance function to check multiple types https://www.freecodecamp.org/learn/python-v9/lecture-understanding-variables-and-data-types/how-do-the-type-and-isinstance-functions-work

Thanks I found this solution. I should’ve paid more attention to this lesson from now on I’ll be more focused because of this because it took me 2 days to solve this from a simple mistake

instead of thinking “I am doing this right” you should always double check

Yeah from now on I’ll start rereading the lesson