I’m new to Python and trying to calculate the average of a list of numbers. My code runs, but I get a TypeError
that I don’t understand. Here’s what I wrote:
# 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)
The error message says:
TypeError: unsupported operand type(s) for /: 'list' and 'int'
I was expecting the program to calculate the average, but it seems like something is wrong with how I’m dividing. I’m not sure if it’s an issue with my understanding of Python’s sum() function or something else.
Can someone explain what’s going wrong here and how I can fix it? I’d also appreciate any tips on avoiding similar mistakes in the future. Thanks in advance! 😊
The code has a typo. It should sum the list of numbers and divide that result by the length of the list. Instead, it attempts to divide the list of numbers by its length and then sum that result. The TypeError
indicates this in its message unsupported operand type(s) for /: 'list' and 'int'
. Division is not defined for list
and int
, and more generally list.__div__()
is undefined .
Note the parentheses in the solution.
numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
print("The average is:", average)