Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

My code works just fine for all scenarios, but only passes the first two tests?

Your code so far

def apply_discount(price, discount):
    if isinstance(price, str) == True:
        print('The price should be a number')
    elif price <= 0:
        print('The price should be greater than 0')
    elif isinstance(discount, str) == True:
        print('The discount should be a number')
    elif discount < 0 or discount >100:
        print('The discount should be between 0 and 100')
    else:
        final_price = price - (price * (discount / 100))
        print('Final price: ', final_price) 

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

Your browser information:

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

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 @component0861,

You are printing where the instructions ask you to return.

What if price is passed in as an array item? Would this code catch that?

Understanding Variables and Data Types - How Do the type() and isinstance() Functions Work? | Learn | freeCodeCamp.org

Here’s an excerpt from the theory lecture above that shows how you can test a variable against more than one type.

account_balance = 12
isinstance(account_balance, (int, float)) # True

Happy coding