Review


#1




The error on the console shows:
Traceback (most recent call last):
File "python", line 30, in
NameError: name 'variance' is not defined


The functions above is directly from the previous few exercises, which should be correct.
However what is my mistake in the print part?

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

def grades_std_deviation(variance):
    return variance ** 0.5
    variance=grades_variance(grades)
print grades_std_deviation(variance)
    
print print_grades(grades)
print grades_sum(grades)
print grades_average(grades)
print grades_variance(grades)
print grades_std_deviation(variance)


#2

To clarify what is your line 30?


#3

Would you argue for that you had defined variance in a way that makes it available at that time?


#4

print grades_std_deviation(variance)


#5

I thought this should be the function that defines variance:

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


#6

Is inside a function, that variable only exists in that function
It also never gets executed, because it's after a return statement, that line is unreachable


#7

I thought the print at the end would work.
Then how do I get this executed?


#8

You'd ask yourself what should have happened in order to be able to do that. If for example you want to print the value of a variable you would have to assign it to some value first, because then you have something to print.

Where would you do that? You would ask yourself when it should happen and where the variable should exist, and then go to that place in the code and define the variable there.


#9

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