Exam Statictic calculation error


#1



Need help! My programm return wrong answer, butI can't understand why


grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]

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(grades)
    variance = 0
    for score in scores:
        variance += (average - score) ** 2
    res = variance / float(len(scores))
    return res
print grades_variance(grades)


#2

This should not be a float.


#3

Thahk you, but problem was in variable res, it must be in for loop to take a right answer
def grades_variance(scores):
average = grades_average(grades)
variance = 0
for score in scores:
variance += (average - score) ** 2
res = variance / float(len(scores))
return res
print grades_variance(grades)

Like this


#4

Nice, I'm glad you found an alternate solution, out of curiosity is there anything else you changed? I only ask because going line by line through your code that is the only thing I saw different from mine. Except, now that I look at it again you use scores as opposed to grades in the variance method.


#5

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