# 7. The Variance -- Por Que?

#1

It has to be my order of operations since the definition calculates the value when called, but I can't seem to target where the issue comes from. Suggestions?

ERROR MESSAGE:

``Oops, try again. grades_variance([6, 5, 6, 9, 3, 0, 5]) returned 46.8571428571 instead of the expected: 6.693877551``

CODE:

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

total = 0

return average

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

#2

You return varince not total_variance.

#3

Simplifying our statements helps prevent the error pointed out by @eveat.

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

Or we can write this as a list comprehension:

``    return sum([(average - x) ** 2 for x in scores]) / len(scores)``

#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.