Build an Apply Discount Function - Build an Apply Discount Function

Tell us what’s happening:

I need an explanation as to why the terminal shows a number even though the task hasn’t been marked as completed.

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"

    else:
        prices = (discount*price)/100

    discount = price - prices

    return print(discount)


apply_discount(100, 20)

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

Welcome to the forum @Phongz03!

This is not the correct syntax for a return. You cannot return and print at the same time. If you want to see what your function is returning, wrap your function call in print();

Happy coding!

1 Like

Yes, although it prints the answer as 80, the task on the left is not marked as completed.

1 Like

I’ve solved it, thank you. I had to return and print as well.

1 Like