我想要做的是在python中创建一个函数,以添加添加到购物车的商品的总价格,如果该商品在库存字典中可用。同时,如果该项目可用并添加到总计中,我希望按照添加到购物车中的金额减少该词典中的项目数。
我完全陷入困境,我不知道如何继续前进,请参阅下面的代码:
stock = {
"item1": 6,
"item2": 0,
"item3": 32,
"item4": 15
}
prices = {
"item1": 4,
"item2": 2,
"item3": 1.5,
"item4": 3
}
def compute_bill(cart):
total = 0
for key in cart:
if stock[key] > 0:
total += prices[key]
return total
答案 0 :(得分:0)
您可以简单地减少该项目的库存数量:
def compute_bill(cart):
total = 0
for key in cart:
if stock[key] > 0:
total += prices[key]
stock[key] -= 1
return total
答案 1 :(得分:0)
假设,没有说明问题的一部分,购物车字典的价值是所需类型的商品的数量,我会写这样的代码:
def compute_bill(cart):
total = 0
for key, value in cart.items():
if 0 < value <= stock[key]:
total += prices[key] * value
stock[key] -= value
return total
如果您拥有stock
,price
和cart
的这些值:
stock = {
"item1": 6,
"item2": 0,
"item3": 32,
"item4": 15
}
prices = {
"item1": 4,
"item2": 2,
"item3": 1.5,
"item4": 3
}
cart = {
"item1": 8,
"item2": 3,
"item3": 10,
"item4": 10
}
然后这是购物车的价格:
>>> print compute_bill(cart)
45.0
>>> from pprint import pprint
>>> pprint(stock)
{'item1': 6, 'item2': 0, 'item3': 22, 'item4': 5}
请注意,item1没有减少,因为订单无法完整填写。同样,item2缺货但没有填写。买方有第3项和第4项各10项。这两件物品的库存减少了10件。