我是 Python 新手,正在尝试计算一组数字的平均值。我的代码可以运行,但我得到一个我不明白的
TypeError
。这是我写的:
# My attempt to calculate the average of a list
numbers = [10, 20, 30, 40, 50]
average = sum(numbers / len(numbers)) # Error occurs here
print("The average is:", average)
错误消息显示:
TypeError: unsupported operand type(s) for /: 'list' and 'int'
我本来期望程序计算平均值,但我的除法似乎有问题。我不确定这是我对Python sum() 函数的理解问题还是其他问题。
有人可以解释一下这里出了什么问题以及如何解决它吗?我也很感激任何有关避免将来发生类似错误的建议。提前致谢! 😊
代码有错字。它应该对数字列表求和并将结果除以列表的长度。相反,它尝试将数字列表除以其长度,然后对结果求和。
TypeError
在其消息 unsupported operand type(s) for /: 'list' and 'int'
中表明了这一点。 list
和 int
没有定义除法,更一般地,list.__div__()
是未定义的。
注意解决方案中的括号。
numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print("The average is:", average)