Если оператор в python не работает, в противном случае возвращается значение - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть вопрос. Я не понимаю, почему код не выполняется. Только значение else возвращается. Пожалуйста помоги. Огромное отчаяние. Заранее спасибо!

def discounted_price(unit_price,quantity):
    if unit_price >= 200:
        discounted_price=(0.9*unit_price)*quantity
    elif quantity >= 20 and quantity%5==0: 
        discounted_price=unit_price*(quantity-(quantity/5))
    elif quantity >= 20:
        discounted_price=unit_price*(quantity-int(quantity/5))
    else:
        discounted_price=unit_price*quantity
        return discounted_price

1 Ответ

0 голосов
/ 10 февраля 2020

В python важен отступ, чтобы возвращать значения из всех условий, оператор возврата должен находиться за пределами области видимости, например:

def discounted_price(unit_price,quantity):
    if unit_price >= 200:
        discounted_price=(0.9*unit_price)*quantity
    elif quantity >= 20 and quantity%5==0: 
        discounted_price=unit_price*(quantity-(quantity/5))
    elif quantity >= 20:
        discounted_price=unit_price*(quantity-int(quantity/5))
    else:
        discounted_price=unit_price*quantity
    return discounted_price  # <-- changed indentation
...