# Part of the Whole

#1

I don't see what I'm doing wrong. I keep getting this error:

Oops, try again. get_class_average([alice]) resulted in an error: 'tuple' object has no attribute 'append'

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

def get_average(student):
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:
get_average(student)
results.append(get_average(student))
return average(results)``````

#2

Try to call the function like this (without rectangular brackets)?
`get_class_average(alice)`

#3

Hi @codermeira,

You have this in the `get_class_average` function ...

``    results = ()``

That assigns a `tuple` to `results`. You need an empty `list` rather than an empty `tuple`.

#4

I found the error.
was writing:

``results = ()``

``results = []``

#5

First, that's not a complete solution, as we now have the following error:
Oops, try again. get_class_average([alice]) resulted in an error: 'function' object has no attribute 'results'

Second, the instructions specifically said we were to create an empty list, and the very beginning of this course said to use parens, not brackets, for lists... so, are we not actually creating a list, but rather a set of dictionary entries?

#6

try this:

from previous forum post:

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

it looks like we don't need the extra:

`` get_average(student)``