编写一个函数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。
答案 0 :(得分:6)
现在,请继续并忽略您要结算的商品是否有货。
删除
if stock[f] > 0:
stock[f] -= 1
答案 1 :(得分:2)
你所要求的并不完全清楚,但是如果你想弄清楚为什么你的功能不符合作业的要求,说明说:
“现在,请继续并忽略您要结算的商品是否有货。”
您的代码会检查以确保该商品有库存,与说明相反,因此返回0而不是2。