7. The Variance


#1

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


I keep getting the wrong result, I was wondering what I did wrong with my function grades_variance.


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 / len(scores)
    return variance
    
print grades_variance(grades)


#2

Would be cool if you state the result you're getting as against the expected.

Thank you! :smile:


#3

Oops, try again. grades_variance([6, 1, 9, 6, 5, 8]) returned 38.8333333333 instead of the expected: 6.4722222222

Here you go :smiley:


#4

The issue is in the above. You should be returning the result of variance / len(scores) and not variance.

I recommend you do:

result = variance/len(scores)
    return result

Hope this helps! :smile:


#5

thanks a lot it works!!!


#6

You're welcome.

Have fun coding! :smile: