What is wrong?


#1



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

Oops, try again. grades_variance([4, 6, 2, 0, 5, 5, 5]) returned 0.223493082 instead of the expected: 3.8367346939


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(s):
    a=grades_average(s)
    v=0
    for b in s:
        v=v+(a-b) ** 2
        v=v/float(len(s))
    return v


#2

You are on the right track BUT think about what you are doing here:

for b in s:
    v=v+(a-b) ** 2
    v=v/float(len(s))

Do you know why you have put the division inside the loop?