Python: 如何在后续减法中使用 divmod 中的值

Python: How to use values from divmod in a subsequent subtraction

如何在不面对的情况下将 divmod 除法的结果包含到简单的减法中: TypeError:- 不支持的操作数类型:'int' 和 'tuple'?

这是我的代码(用Python编写):

def discount(price, quantity): 
if (price > 100): 
    discounted_price = price*0.9
else: 
    discounted_price = price

if (quantity > 10): 
    deducted_quantity = divmod(quantity, 5)
    discounted_quantity = quantity - deducted_quantity
else: 
    discounted_quantity = quantity

#Compute which discount yields a better outcome   
if (discounted_price*quantity < price*discounted_quantity):
    return(discounted_price*quantity)
else:
    return(price*discounted_quantity)

非常感谢任何帮助,因为我是初学者,我还找不到合适的解决方案。

仅供参考,基础任务: 编写一个函数 discount(),它采用(位置)参数价格和数量,并为客户订单实施折扣方案,如下所示。如果价格超过 100 美元,我们给予 10% 的相对折扣。如果客户订购超过 10 件商品,则每五件商品中有一件是免费的。然后函数应该 return 总成本。此外,仅授予两种折扣类型中的一种,以对客户更好的方式为准。

divmod returns 元组 (d, m) 其中 d 是除法的整数结果 (x // y) 而 m 是余数(x % y),使用索引来获取你想要的两者(divmod):

deducted_quantity = divmod(quantity, 5)[0]
# or:
# deducted_quantity = divmod(quantity, 5)[1]

或者如果您需要两者,请使用解包为每个值使用一个变量:

the_div, the_mod = divmod(quantity, 5)