# 7. Variance _why error?

#1
``````grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]

total = 0

return average

average = 0
for score in scores:
variance = 0
for score in scores:
variance += (average - score)**2
return variance/len(scores)

Oops, try again. grades_variance([9, 0, 4, 2, 5, 9, 2, 3]) returned 894.5 instead of the expected: 9.4375

I get this message as a result. What's wrong with mine?

#2

# Edit:

since you have written a method to compute the average of a list of grades you can replace all these lines

``````        average = 0
for score in scores:

with

``average = grades_average(scores)``

#3

@rydan

Your second suggestion fixes @medouxa's bug.

But your first suggestion has little to no effect! If it has an effect than it's for the worse. (More operations and more opportunities to lose precision - it won't make a lot of difference, but any difference is going to be for the worse.)

#4

@ionatan thats right i just made the calculation and it gives the right answer. Thanks