如果python中的if语句不起作用,但是返回其他值

问题描述 投票:-2回答:1

我有问题。我不明白为什么代码没有执行。仅返回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
python if-statement
1个回答
0
投票

在python中,缩进很重要,要从所有条件返回值,return语句必须在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  # <-- changed indentation
© www.soinside.com 2019 - 2024. All rights reserved.