"It looks like the sum of grades was not printed" despite being printed


#1

Exam statistics exercise: https://www.codecademy.com/courses/python-intermediate-en-7mgOa/2/3?curriculum_id=4f89dab3d788890003000096#
Despite the sum being printed, I repeatedly get an error message stating that it has not been printed I found a similar topic onthis forum, but I still cannot see where the mistake is. Thanks in advance

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

def grades_std_deviation(variance):
    return variance ** 0.5
    
variance = grades_variance(grades)

#print grades_std_deviation(variance)

print "The grades: "
print_grades(grades)
#print
print "sum of grades: %s" % grades_sum(grades)
#print
print "Average: %d" % grades_average(grades)
print "Variance: %d" % grades_variance(grades)
print "Standard dev: %d" % grades_std_deviation(grades_variance(grades))


#2

The problem here is you typing in grades_variance(grades) when you already stored stored it in one parameter variance, meaning you only need that as a parameter.


#3

Thank you for your response. I forgot that I previously assigned a variance variable! Although, I think that my original code should work. As you instructed, I amended the final print statement to:
print "Standard dev: %d" % grades_std_deviation(variance)

However, I still get the same error message. This is my output:

  
    The grades: 
100
100
90
40
80
100
85
70
90
65
90
85
50.5
sum of grades: 1045.5
Average: 80
Variance: 334
Standard dev: 18
None

#4

I eventually solved my problem by removing the print string statements at the end of the program and replacing them with the following. Thank you for your help.

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

#5

Yes that would have been my next advice. :sweat_smile: You're welcome


#6

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.