Python:function,for循环,错误消息

时间:2015-10-09 09:47:17

标签: python-2.7

我是Python新手并且正在使用codeacademy进行练习,我收到了一个带有以下函数的奇怪错误消息。我不明白,因为它在逻辑和语法上看起来对我来说,有人能看到这个问题吗?

def compute_bill(food):
    total = 0
    for item in food:
        total = total + item
    return total

哎呀,再试一次。

compute_bill(['apple']) 

导致

TypeError: unsupported operand type(s) for +: 'int' and 'str'

2 个答案:

答案 0 :(得分:1)

您无法使用string添加integer。 python文档上的typeError - typeError

调用下面的函数 -

compute_bill([1]) 
compute_bill([10,20,30]) 

OR

apple = 10
orange = 20
compute_bill([apple,orange]) 

答案 1 :(得分:1)

正如@Rilwan在他的回答中所说,你不能用一个整数添加字符串。由于你正在开发codeacademy,我已经完成了类似的任务,我相信你必须从字典中获得你发送给函数的食物的成本,然后计算总数。

food_cost = { "apples" : 20, "oranges" : 40}
def compute_bill(food):
     total = 0
     for item in food:
         total = total + food_cost[item]
     return total
compute_bill(['apples'])