首页 > 解决方案 > 如果python中的语句不起作用但是返回其他值

问题描述

我有问题。我不明白为什么不执行代码。仅返回 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

标签: pythonif-statement

解决方案


在 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

推荐阅读