The issue arises in the last step when the float values are to be passed-
“11. apply_discount(74.5, 20.0) should return 59.6.”
Your code so far
def apply_discount(price,discount):
if not isinstance(price, (int or float)):
return "The price should be a number"
elif not isinstance(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"
discount = (price*discount)/100
final_price = price - discount
return final_price
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 Edg/145.0.0.0
Challenge Information:
Build a Discount Calculator - Build a Discount Calculator
It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge. How to Help Someone with Their Code Using the Socratic Method
We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.
adding a function call is a way to debug your function, and it should help you individuate where the issue is. Adding a function call on its own does not solve any issue
now that you know that it returns “The price should be a number” even when it shouldn’t, you know where to look for solving this issue