Variance


#1


https://www.codecademy.com/courses/python-intermediate-en-7mgOa/2/1?curriculum_id=4f89dab3d788890003000096

I get an error:

" grades_variance([5, 8]) returned 0.1863905325 instead of the expected: 2.25"


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 - score) ** 2
        variance=variance/len(grades)
    return variance

print grades_variance(grades)


#2

Hi @epangar,

This statement is included within the for loop due to the degree of its indentation ...

        variance=variance/len(grades)

Is that where it should be?

In addition, you passed the global grades list to the len function in that statement. Pass it the grades_variance function parameter, scores, instead.


#3

It works! Thanks a lot :smiley:


#4