Traceback (most recent call last): File "python", line 46, in <module> File "python", line 44, in get_class_average File "python", line 23, in get_average NameError: global name 'average' is not defined


#1

lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}

Add your function below!

def get_average(student):

homework= average(student["homework"])
quizzes = average (student["quizzes"])
tests = average (student["tests"])
totalscore= 0.1*homework+0.3*quizzes+0.6*tests
return totalscore

def get_letter_grade(score):
if (score>=90):
return 'A'
elif(score>=80):
return 'B'
elif(score>=70):
return 'C'
elif(score>=60):
return 'D'
else:
return 'F'
class_list=[lloyd,alice,tyler]
def get_class_average(students):
results=[]
for student in students:
results.append(get_average(student))
return average(results)
print get_class_average(class_list)

Please help me with this error, the above is my code


#2

Hi your code is fine its maybe a indent problem so here your code with the correct indent

lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}


def get_average(student):
    homework= average(student["homework"])
    quizzes = average (student["quizzes"])
    tests = average (student["tests"])
    totalscore= 0.1*homework+0.3*quizzes+0.6*tests
    return totalscore
def get_letter_grade(score):
    if (score>=90):
        return 'A'
    elif(score>=80):
        return 'B'
    elif(score>=70):
        return 'C'
    elif(score>=60):
        return 'D'
    else:
        return 'F'
class_list=[lloyd,alice,tyler]
def get_class_average(students):
    results=[]
    for student in students:
        results.append(get_average(student))
    return average(results)
print get_class_average(class_list)

#3

Same error i am getting


#4

try to refresh the page.


#5

Refreshed the page, but same error


#6

with me that one work ... try to change browser.


#7

cool let me change the browser


#8

I believe you forgot to define the average() function.


#9

dccddgchhdbccdcdhcbhdhbchbdhc. TJHXsuwgefyc cbegcghedhbcshc hcfhcfhdhhvfhvhdfv dvhdfhvfdhvh.


#10

:man_facepalming:
oh gosh.
you really need to learn to debug…