# 8. Part of the Whole

#1

I have been through this forum for every post related to this section and I still cannot find my error! I am getting the error
"Oops, try again. get_class_average([alice]) returned 83.8666666667 instead of 91.15 as expected"

I've been mainly looking to the get_class_average function as where I've gone wrong but now I'm no longer sure as I've seen many solved answers that are the same or very similar. Thanks for any help you can give me!

``````Replace this line with your code.
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 average(numbers):
total = sum(numbers)
total = float(total)
total = total / len(numbers)

def get_average(student):
homework = average(student["homework"])*.1
quizzes = average(student["quizzes"])*.3
tests = average(student["tests"])*.6
return homework + quizzes + tests

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

students = [lloyd, alice, tyler]

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

#2

Hi this line

``def get_class_average(student):``

just add the s to students because your are using it in the for loop here

``for student in students:``

students is the parameter of the function get_class_average

#4

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