8/9 idk what is wrong


#1

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)
return total/len(numbers)
def get_letter_grade(score):
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):
return (0.1 * average(student["homework"]) + 0.3 * average(student["quizzes"]) + 0.6 * average(student["tests"]))

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

I have no idea what is wrong im getting
"Oops, try again. get_class_average([alice]) resulted in an error: unsupported operand type(s) for +: 'int' and 'str'"
Thanks for any help


#2

It's never a good idea to use the same name for a iterator variable and parameter:

for student in student:

I would change the name of the parameter to students or class as it should represent list of students.


Read again this part of instruction and check if you did it correctly:

For each student item in the class list, calculate get_average(student) and then call results.append() with that result.


#3

Make sure you have all your indentation correct. I've been stuck on this for the better part of 2 days only to sit down and finally notice my return was in the wrong spot.