# 8. Part of the Whole: SyntaxError on "return average(results)"

#1

11.8. Student Becomes the Teacher: Part of the Whole

Hello everyone! This is my first post here (or anywhere in the programming world, in fact). I have reached an impasse. I have tried many different versions but all keep returning the following error:

File "python", line 54
return average(results)
^
SyntaxError: invalid syntax

I have looked around on here and can't seem to find where I went wrong after comparing to others' code. On Stack Overflow I found "Because of the nature of SyntaxError exceptions (which are raised when the interpreter doesn't understand the code syntax), the error messages may not identify the right line as the source of the problem."

So do I need to look elsewhere (other than line 54)? Help! Thanks!

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

def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
get_average = 0.1 * homework + 0.3 * quizzes + 0.6 * tests
return get_average

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

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

#2

Delete one bracket before get_average:

#3

Thanks! I knew it had to be something simple like that. I must turn up my attention-to-detail skill!