类型错误:“/”不支持的操作数类型 - 为什么我的平均计算不起作用?

问题描述 投票:0回答:1

我是 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() 函数的理解问题还是其他问题。

有人可以解释一下这里出了什么问题以及如何解决它吗?我也很感激任何有关避免将来发生类似错误的建议。提前致谢! 😊

python debugging typeerror
1个回答
0
投票

代码有错字。它应该对数字列表求和并将结果除以列表的长度。相反,它尝试将数字列表除以其长度,然后对结果求和。

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)
© www.soinside.com 2019 - 2024. All rights reserved.