#1

# It says get_class_average([alice, lloyd]) returned 91.15 instead of 85.85 as expected. I have no clue what I am doing wrong. I tried it so many times. Help!

``````
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(numbers):
total = sum(numbers)
total = float(total)
result = total / len(numbers)
return result

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_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
return 0.1 * average(student["homework"]) + 0.3 * average(student["quizzes"]) + 0.6 * average(student["tests"])

def get_class_average(students):
results = []
for student in students:
get_average(student)
results.append(get_average(student))
results = sum(results)/len(results)
return results
``````

#2

here:

``````results = sum(results)/len(results)
``````

you only want to do this after appending all student average to the list? Currently, you do this in every iteration of the loop

to achieve this, place this line outside the loop

#3

I had this error too. I can give you another hint that of these two lines, only one is needed:

``````get_average(student)
results.append(get_average(student))
``````

Also, rather than using ‘students’ as the argument, it should be class_list, but I’m not sure that this matters too much - it should still pass the validation.

#4

the paramter doesn’t matter much, in the old course it was `students` in the new one its `class_list`, i think they changed it because many people confused it with `students` list, but in th end, it doesn’t matter

#5

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