I'm stuck with this one, it is giving error message:

Traceback (most recent call last):

File "python", line 54, in

File "python", line 42, in get_letter_grade

File "python", line 31, in get_average

TypeError: 'float' object has no attribute '**getitem**'

I can't see what is wrong, since the exact same print call for class average seemed to work in previous lesson and now the error is shown even without the last two print commands!

```
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 average(numbers):
total= sum(numbers)
total= float (total)
result= total / len(numbers)
return result
students = [lloyd, alice, tyler]
def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
score = homework*0.1 + quizzes*0.3 + tests*0.6
return score
print get_average(lloyd)
print get_average(alice)
print get_average(tyler)
def get_letter_grade(student):
score = get_average(student)
if score >= 90:
return "A"
if score >= 80:
return "B"
if score >= 70:
return "C"
if score >= 60:
return "D"
else:
return "F"
print get_letter_grade(get_average(lloyd))
print get_letter_grade(get_average(alice))
print get_letter_grade(get_average(tyler))
def get_class_average(students):
results = []
for student in students:
result = get_average(student)
results.append(result)
return average(results)
print get_class_average(students)
print get_letter_grade(get_class_average(students))
```