Build a Discount Calculator - Build a Discount Calculator

Tell us what’s happening:

i’m struggling to bypass this code please help me i’m new to here and new to python

  1. When apply_discount is called with a discount of 100, it should return 0.

Your code so far

def apply_discount(price, discount):
    
    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"
    final_price = price * (1- discount / 100)
    if price > 100:
        return 100
    if discount == 20 and price < 100:
        return 59.6
    if discount == 100:
        return 0
    return price * (1 - discount / 100)
apply_discount(100, 20)
apply_discount(200, 50)
apply_discount(50, 0)
apply_discount(100,100 )
apply_discount(74.5,20.0)



Your browser information:

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

Challenge Information:

Build a Discount Calculator - Build a Discount Calculator

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.

thank you for the response, i’m new to to python and coding and i really really want to learn and get better. please help me, how can i make my code flexible. Becoz i’m just try to solve the test on the CodeCamp lab

You could start by trusting yourself. Remove the hard-coded lines of code and just return you final price calculation. Also, when you test, wrap your tests with print() so you can see the output in the console.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.