计算食品账单的python代码有什么问题?
我一直在做一门关于Codecademy的课程,它给了我这个任务: 定义一个函数计算食品账单的python代码有什么问题?,python,Python,我一直在做一门关于Codecademy的课程,它给了我这个任务: 定义一个函数compute\u bill,该函数将一个参数food作为输入。 在函数中,创建一个初始值为零的变量total。 对于食品列表中的每个项目,将该项目的价格添加到总计。 最后,返回总数 这是我的代码: def compute_bill(food): total=0 for x in food: total+=x return total 这就是他们给我的错误: compute_
compute\u bill
,该函数将一个参数food
作为输入。
在函数中,创建一个初始值为零的变量total
。
对于食品
列表中的每个项目,将该项目的价格添加到总计
。
最后,返回总数
这是我的代码:
def compute_bill(food):
total=0
for x in food:
total+=x
return total
这就是他们给我的错误:
compute_bill(['apple'])导致类型错误:不支持的操作数
输入+=:“int”和“str”
我不知道我做错了什么。你没有正确阅读作业: 对于食物清单中的每一项,将该项的价格加到总数中 您添加的是商品本身,而不是商品的价格 你大概有办法找到每种商品的价格,比如字典。您不能添加
'apple'
字符串,但是如果苹果的价格0.10
(10美分),那么您可以将0.10
添加到total
例如,如果您有一本名为prices
的词典,您可以执行以下操作:
prices = {
'apple': 0.10,
'pear': 0.15,
'cumquat': 0.50,
}
def compute_bill(food):
total = 0
for item in food:
total += prices[item]
return total
请注意,我将
x
更改为item
,这是一个与作业文本匹配的更具描述性的变量名。您没有正确阅读作业:
对于食物清单中的每一项,将该项的价格加到总数中
您添加的是商品本身,而不是商品的价格
你大概有办法找到每种商品的价格,比如字典。您不能添加'apple'
字符串,但是如果苹果的价格0.10
(10美分),那么您可以将0.10
添加到total
例如,如果您有一本名为prices
的词典,您可以执行以下操作:
prices = {
'apple': 0.10,
'pear': 0.15,
'cumquat': 0.50,
}
def compute_bill(food):
total = 0
for item in food:
total += prices[item]
return total
请注意,我将
x
更改为item
,这是一个更具描述性的变量名称,与您的作业文本相匹配。您应该汇总每种食品的价格,而不是食品本身的价格。假设您有一本价格字典,您的代码应该是这样的:
def compute_bill(food):
total = 0
for x in food:
total += prices[x]
return total
你应该总结每种食物的价格,而不是食物本身。假设您有一本价格字典,您的代码应该是这样的:
def compute_bill(food):
total = 0
for x in food:
total += prices[x]
return total
错误告诉您:不能将整数和字符串相加。这是因为你将你的总数(一个整数)和食物本身(而不是价格)相加。你可以用:
你的字典[food]
来解决这个问题,而不仅仅是food
。希望这有帮助 错误告诉您:不能将整数和字符串相加。这是因为你将你的总数(一个整数)和食物本身(而不是价格)相加。你可以用:你的字典[food]
来解决这个问题,而不仅仅是food
。希望这有帮助 这是正确的代码,我花了很长时间来修复它,但请确保它看起来与此类似:
def compute_bill(food):
total = 0
for each in food:
total += prices[each]
return total
这是正确的代码,我花了很长时间来修复它,但请确保它看起来与此类似:
def compute_bill(food):
total = 0
for each in food:
total += prices[each]
return total
这是假设您有一个价格字典。这是假设您有一个价格字典。欢迎使用Stack Overflow。不鼓励只使用代码的答案。请尝试提供一些关于代码如何解决OPs问题的解释。此外,您可能还想了解。我已编辑了您的答案以修复代码块。欢迎使用堆栈溢出。不鼓励只使用代码的答案。请尝试提供一些关于代码如何解决OPs问题的解释。此外,您可能还想了解。我已编辑了您的答案以修复代码块。