Codecademy超市“减法”错误

0 投票
4 回答
3005 浏览
提问于 2025-04-18 03:38

我在Codecademy上开始学习Python编程,但遇到了一个问题:

请对你的compute_bill函数做以下修改:

  1. 在你遍历每个食物项的时候,只有当这个食物的库存数量大于零时,才把它的价格加到总价里。
  2. 如果这个食物有库存,并且你把价格加到总价后,要把这个食物的库存数量减一。

我的代码是:

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)

把那一行删掉。

撰写回答