Very weird error, need help! 8/9


#1

Here is my code:

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

def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
new_homework = homework * .10
new_quizzes = quizzes * .3
new_tests = tests * .6
return new_homework + new_quizzes + new_tests

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"
elif score < 60:
return "F"

lloyd = get_average(lloyd)
print get_letter_grade(lloyd)

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

It gives me an error about the dictionary Lloyd being wrong, and it shows me the correct one, but I already have the correct one, so... can anyone help me?


#2

I'm not going to compare myself or run your code since your code is not valid Python (mind the formatting)

But if your description is accurate (that you have exactly that dict) then it sounds like you change the dict as your code runs

You can find out if that's the case by printing out the dict after the rest of your code has run, or by looking closer at your code.

If it wasn't exactly the same, perhaps copy the dict in the error message and use python to compare it to yours (==)