Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

my code passes every requirement except for step 3 and 4. i want to know what i did wrong, thanks in advance

Your code so far

def apply_discount(price, discount):
    
    total = price - price * discount / 100
    
    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"
    else:
        return total


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




Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.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

Welcome to the forum @1uyi,

Does it make sense to do this calculation before you have validated price and discount?

Happy coding

i fixed it just by removing total and putting the calculation after my else: return statement. now i want to ask why my code passed when i did this and why it didnt work before?

The answer is in the question.

If you call the function like this: print(apply_discount("100",20)), your code will throw an error because you didn’t validate your parameters before using them.