2024-04-27 00:14:03 发布
网友
如果我有这样一本字典:
a = ['a':1, 'b':2, 'c':3]
显然,这三个数字的和就是六。我怎样才能在这样的清单中找到总数。我的意思是:
def compute_sum(a): total = 0 for n in a: total += prices[n] return total
那我是不是可以返回任何列表的总和?还有其他方法吗?你会如何使用相同或不同的功能?你知道吗
如果total和prices[food]属于同一类型,则该语句没有任何错误。但是,如果您尝试添加(或连接)不同的类型,您肯定会遇到错误。你知道吗
total
prices[food]
其次,应该在要迭代的函数中传递shopping_list作为参数,而不是food。因此,函数接收的参数名应该更改。你知道吗
shopping_list
food
第三,total变量应该在函数内部,而不是外部。按照您编写的方式,您将在执行时获得UnboundLocalError : local variable 'total' referenced before assignment。函数有自己的局部作用域,其中变量是单独定义的。你知道吗
UnboundLocalError : local variable 'total' referenced before assignment
你需要稍微改变一下循环。 假设购物清单类似于shopping_list = {'bread':1.00, 'eggs':0.99},那么您可以这样做:
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
如果
total
和prices[food]
属于同一类型,则该语句没有任何错误。但是,如果您尝试添加(或连接)不同的类型,您肯定会遇到错误。你知道吗其次,应该在要迭代的函数中传递
shopping_list
作为参数,而不是food
。因此,函数接收的参数名应该更改。你知道吗第三,
total
变量应该在函数内部,而不是外部。按照您编写的方式,您将在执行时获得UnboundLocalError : local variable 'total' referenced before assignment
。函数有自己的局部作用域,其中变量是单独定义的。你知道吗你需要稍微改变一下循环。
假设购物清单类似于
shopping_list = {'bread':1.00, 'eggs':0.99}
,那么您可以这样做:我不知道食物变量是什么意思!根据我对这个问题的理解,代码如下:
相关问题 更多 >
编程相关推荐