9/9 review


#1



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

Traceback (most recent call last):
File "python", line 36, in
File "python", line 28, in grades_std_deviation
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'float'

So I have been frustrated with the review section of 9/9. I'm pretty sure my code is correct and the error didn't show up on the previous exercise even though it was the same code. If anyone could tell me if I'm doing something wrong that would be great.


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

print grades_variance(grades)
    
def grades_std_deviation(variance):
    return pow(variance, .5)
variance = grades_variance(grades)
print grades_std_deviation(variance)

print_grades(grades)
print grades_sum(grades)
print grades_average(grades)
print grades_variance(grades)
print grades_std_deviation(grades)


#2

Nevermind, I figured it out. Using the wrong arument in line 36


#3

Then what is the correct argument?


#4

grades_std_deviation(variance) instead of (grades)


#6