Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

I can’t attain step11 but the rest.
can anyone tell me why

Your code so far

def apply_discount(price,discount):
    if not type(price)==(int or float):
        return('The price should be a number')
    elif not type(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:
        return(price*(1-discount/100))

apply_discount(100,20)
apply_discount(200,50)
apply_discount(50,0)
apply_discount(60,100)
apply_discount(74.5,20.0)


      


    
        
    

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15

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

Add this and see what it returns print(apply_discount(74.5, 20.0))

after that, is this how you compare one value with two values?

’ The price should be a number’

and that is not what it should be, right?

you need to see again these two parts:

do I have to use the isnstance function?

it’s not mandatory, but that’s a way to proceed

is it my statement is logically wrong now ?

do you mean this statement here? type(price)==(int or float)

the main issue is that == can only compare one value to one value, you are trying to compare one value with two values

which means the ‘or float’ actually doesn’t work ?

( just changed it to ‘if type(price)!=int and type(price)!=float:’ and it works! thanks)

the thing that happens is that int or float is executed first, so int or float becomes only int and the comparison is only done with int

Use type(price) in (int, float) and type(discount) in (int, float) instead of type(price)==(int or float) and type(discount)==(int or float), alternatively you can use isinstance(). This is the reason for getting error.