Exam statistics - unsupported operand types


#1

getting error:
Traceback (most recent call last):
File "python", line 26, in
File "python", line 22, in grades_variance
TypeError: unsupported operand type(s) for -: 'float' and 'list'

the instruction had me add float for len(grades) earlier which i didn't perfectly understand, while i try to play around with int and float in the last line but still have no idea what to do. anyone can offer insights? thanks.

'''
grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]

def print_grades(grades):
for grade in grades:
print grade

def grades_sum(grades):
total = 0
for grade in grades:
total += grade
return total

def grades_average(grades):
sum_of_grades = grades_sum(grades)
average = sum_of_grades / float(len(grades))
return average

def grades_variance(scores):
average = grades_average(scores)
variance = 0
for score in scores:
variance += (average - scores)**2

return (variance / float(len(scores)))

print grades_variance(grades)
'''


#2

You can't subtract a list from a float, so you'll have to rethink what you're doing there.

Perhaps you've sent in an incorrect argument or perhaps you meant to do something else with those values.

So look at where those values are coming from by looking at the code and/or inserting prints


#3

appreciate the help. it was a stupid mistake. i changed 'scores' to 'score' and that solves it. :smile: