My code seems to function, but it's not giving out the correct standard deviation. Here's the code:

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):

variance = 0

average = grades_average(scores)

for score in scores:

variance += (average - score) ** 2

variance /= float(len(scores))

return variance

print grades_variance(grades)

**def grades_std_deviation(variance):****> variance = grades_variance(grades)**

**return variance ** 0.5**

print grades_std_deviation(grades)

This is the error I get:

**Oops, try again. grades_std_deviation(8.75) returned 18.2776094147 instead of the expected: 2.9580398915**