编写一个函数compute_bill,该函数以参数food为输入通过循环浏览食物清单并将列表中每个项目的成本。
现在,继续并忽略您正在计费的项目的有存货。
请注意,您的函数应该适用于任何食物列表。
给定代码为
groceries = ["banana", "orange", "apple"]
stock = { "banana": 6,
"apple": 0,
"orange": 32,
"pear": 15
}
prices = { "banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3
}
我写了这个:
def compute_bill(food):
total = 0;
for f in food:
if stock[f] > 0:
total+=prices[f]
stock[f] -=1
return total
compute_bill(groceries)
错误消息为
哎呀,再试一次!当['apple']用作输入时,您的代码似乎不起作用——它返回0而不是2。
现在,继续并忽略您计费的商品是否有库存
删除
-
if stock[f] > 0:
-
stock[f] -= 1
目前还不完全清楚你在问什么,但如果你想弄清楚为什么你的功能不能满足任务的要求,说明说:
"现在,继续忽略你要计费的商品是否有库存。"
您的代码会进行检查,以确保物品有库存,这与说明相反,因此返回0而不是2。