如何使用for循环将元素添加到列表中?

2024-10-02 02:32:16 发布

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

我正在使用open(filename)打开一个包含数字73、85、66、0和99的文件

我将每个数字添加到名为values的列表中。现在我想得到所有数字的平均值。我尝试使用名为sum的变量对值求和,然后打印总和

values = []
for i in values:
    sum = sum + i
print sum:

这段代码给了我以下错误:TypeError: unsupported operand type(s) for +: 'builtin_function_or_method' and 'int'


Tags: 文件代码in列表for错误数字open
2条回答

调用sum = sum + i时,尚未给sum赋值。不能将1添加到未定义的变量

在代码块之前声明sum = 0,它应该可以解决这个问题

另外,打印语句后不应该有冒号。那是打字错误,还是你的代码里有

您正在使用sum作为变量名,但尚未初始化。但sum是内置函数的名称,因此不应将其用作变量名,因为它可能导致如下问题:)您的代码告诉Python将values中的整数添加到函数中,因此它会抱怨。但这是可行的:

values = [1, 2, 3, 4]

total = 0
for i in values:
    total = total + i
print total

输出

10

FWIW,如果我们使用sum而不是total来存储当前的累计和,上面的代码就可以工作了,因为它在循环开始之前就被初始化了。但这不是一个好主意,因为这意味着如果以后需要,就不能访问正确的sum()函数。另外,阅读您的代码的人会感到有点困惑


或者您可以只使用sum()函数,因为它是用来将iterable的内容添加到一起的:

print sum(values)

输出

10

相关问题 更多 >

    热门问题