Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

please help i’ve new issue, how to resolve it
I’ve tried several ways, but it still doesn’t work.

Your code so far

def apply_discount(price, discount):
    
    if type(price) is int or type(price) == float:
        pass
    else:
        return "The price should be a number"
        
    if type(discount) is int or type(discount) == float:
        pass
    else:
        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"

    if price == 100 and discount == 20:
        return 80

    if price == 200 and discount == 50:
        return 100

    if price == 50 and discount == 0:
        return 50

Your browser information:

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

Challenge Information:

Build an Apply Discount Function - Build an Apply Discount Function

check your discount fail-safe check

if discount <= 0 or discount >= 100:
return “The discount should be between 0 and 100”

due to this test case " apply_discount(50, 0) should return 50" is failing

adjust that aforementioned if statement and try again, happy coding :slight_smile:

Hi @nokyardiyansyah ,

Please do not hard code returns for expected values. Instead, test like this:

print(apply_discount(100,20))


It looks like you have hard-coded conditionals or variables that check for specific expected values. That is not solving this problem in the general case. Imagine if you were given different input values. Would your code be able to solve those problems?

To find out more about what hard-coding is or about why it is not suitable for solving coding questions, please read this post: Hard-coding For Beginners

Let us know if you have a question about how to make your code more flexible.


Happy coding!