Hello, my first post here, I've checked previous discussions but got none the wiser. Why didn't my code work?

```
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))
# use float() to make sure the average will return decimal places
return average
def grades_variance(grades):
average = grades_average
variance = 0
for i in grades:
sqdf = (average - i ) ** 2
variance = variance + sqdf
result = variance / float(len(grades))
return result
def grades_std_deviation(variance):
result = variance ** 0.5
return result
variance = grades_variance(grades)
print(grades_std_deviation(variance))
```