如何找出字典中与某些单词对应的所有数字之和

2024-04-27 00:14:03 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有这样一本字典:

a = ['a':1, 'b':2, 'c':3]

显然,这三个数字的和就是六。我怎样才能在这样的清单中找到总数。我的意思是:

def compute_sum(a):
    total = 0
    for n in a:
        total += prices[n]
    return total

那我是不是可以返回任何列表的总和?还有其他方法吗?你会如何使用相同或不同的功能?你知道吗


Tags: 方法in功能列表forreturn字典def
3条回答

如果totalprices[food]属于同一类型,则该语句没有任何错误。但是,如果您尝试添加(或连接)不同的类型,您肯定会遇到错误。你知道吗

其次,应该在要迭代的函数中传递shopping_list作为参数,而不是food。因此,函数接收的参数名应该更改。你知道吗

第三,total变量应该在函数内部,而不是外部。按照您编写的方式,您将在执行时获得UnboundLocalError : local variable 'total' referenced before assignment。函数有自己的局部作用域,其中变量是单独定义的。你知道吗

你需要稍微改变一下循环。
假设购物清单类似于shopping_list = {'bread':1.00, 'eggs':0.99},那么您可以这样做:

def compute_bill(shopping_list):
    total = 0.0
    for food in shopping_list.keys():
        total += shopping_list[food]
    return total

我不知道食物变量是什么意思!根据我对这个问题的理解,代码如下:

def compute_bill(shopping_list, prices):
    total = 0
    for food in shopping_list:
        total += prices[food]
    return total

相关问题 更多 >