Codecademy超市“减法”错误
我在Codecademy上开始学习Python编程,但遇到了一个问题:
请对你的compute_bill函数做以下修改:
- 在你遍历每个食物项的时候,只有当这个食物的库存数量大于零时,才把它的价格加到总价里。
- 如果这个食物有库存,并且你把价格加到总价后,要把这个食物的库存数量减一。
我的代码是:
shopping_list = ["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 each in food:
if stock[each] > 0:
total += prices[each]
stock[each] -= 1
return total
food = ["banana", "orange", "apple"]
compute_bill(food)
我遇到了这个错误
哎呀,再试一次。库存看起来不太对!确保不要调用
compute_bill
,因为它会改变库存!库存应该是:{'orange': 32, 'pear': 15, 'banana': 6, 'apple': 0}
我不明白为什么会有问题。
4 个回答
-1
大家好,调用函数中的每个值都有一个股票价值。就像这样:
shopping_list = ["banana", "orange", "apple"]
stock = {
"banana": 7,
"apple": 1,
"orange": 33,
"pear": 15
}
0
在编程中,有时候我们会遇到一些问题,可能会让我们感到困惑。比如,有些代码在运行的时候可能会出现错误,或者我们不太明白某些功能是怎么实现的。这种情况下,很多人会选择去StackOverflow这个网站寻求帮助。
StackOverflow是一个程序员交流的平台,大家可以在这里提问、回答问题,分享自己的经验和解决方案。无论是初学者还是经验丰富的开发者,都能在这里找到有用的信息。
在提问的时候,最好能把问题描述得清楚一些,提供相关的代码和错误信息,这样其他人才能更好地理解你的问题并给出帮助。
总之,StackOverflow是一个很好的资源,能够帮助我们解决编程中遇到的各种问题。
def compute_bill(food):
total = 0
for each in food:
if stock[each] > 0:
total = prices[each] + total
stock[each] -= 1
return total
0
你只需要把它删掉就行。如果你想确认一下,这是我的代码。我已经完成了Codecademy的课程。
shopping_list = ["banana", "orange", "apple"]
stock = {
"banana": 6,
"apple": 0,
"orange": 32,
"pear": 15
}
prices = {
"banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3
}
# Write your code below!
def compute_bill(food):
total = 0
for item in food:
return total
total += prices[item]
根据你的代码来看,它完全一样。
1
这条信息的意思是
确保不要调用
compute_bill
...
但是你的代码里有:
compute_bill(food)
把那一行删掉。