# Again 8.part of the whole

#1

Hi, before writing this post I went through all the previous ones about the same issue, but still i didn't figure out what did I write wrong.

The exercise where I'm stucked is the number 8.Part of the whole

When it comes to write the function to get the class average it just doesn't work.

The error message I got is : "
Oops, try again. get_class_average([alice]) resulted in an error: global name 'student' is not defined"

``````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]
}

students = [lloyd, alice, tyler]

def average (numbers):
total = sum(numbers)
total = float(total)
avg = total/len(numbers)
return avg

def get_average(lloyd):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
return 0.1*homework+0.3*quizzes+0.6*tests

if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >=70:
return "C"
elif score >=60:
return "D"
else:
return "F"

def get_class_average(students):
results = []
for student in students:
results.append(get_average(student))

return average(results)``````

#2

the problem is actually here:

``def get_average(lloyd):``

you use lloyd as function parameter, this should be student

#3

the parameter that I wrote it is student, I think you got confused with the line above that print get_letter_grade(lloyd)

#4

I see that now, thank you