# Part of Whole: Very Confused

#1

Instruction:
1. Define a function called get_class_average that has one argument students. You can expect students to be a list containing your three students.
2. First, make an empty list called results.
3. For each student item in the class list, calculate get_average(student) and then call results.append() with that result.
4. Finally, return the result of calling average() with results.

I'm lost, what did I do wrong

``````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 = float(sum(numbers))/ 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:
return results.append(get_average(student))
return average(results)``````

#2

In what way does it misbehave? You've so far pasted the instructions and your code, saying it's wrong, I have a very hard time finding anything to reply to.
Have you tried observing what it does? If you know what it does and you watch it run, then you should be able to tell where it goes wrong.
Rather than ask what's wrong, it would be better to address what's stopping you from finding that out yourself.

#3

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