8.Part of the Whole


#1




Error Message:
Oops, try again. get_class_average([alice]) returned 85.6875 instead of 91.15 as expected


But when I print all of the averages (the three students and then the class) I get:
80.55
91.15
79.9
83.8666666667


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

def get_average(student):
    homework = average(student["homework"])
    quizzes = average(student["quizzes"])
    tests = average(student["tests"])
    return float((homework * .1) + (quizzes * .3) + (tests * .6))

"""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" """

students = [lloyd, alice, tyler]
results= []

def get_class_average(students):
    for student in students:
        print get_average(student)
        results.append(get_average(student))
    return average(results)



print get_class_average(students)


#2

This should be inside the function so it gets reset to empty each time the function is called.


#3

okay, i changed that, but the error code is still the same...


#5

This line may be removed since it is not expected.


#6

Yea I hadn't put that in there originally. I added after I first got the error so that it would show that it is, in fact, a number that's being returned.


#7

Why is your get_letter_grade in triple speech marks?


#8

That's a question for the ages. The member may have just commented out the code for testing purposes. It's not our concern. Please don't post solution code in resolved threads, or any for that matter. It does not help.


#9

sorry, just trying to help


#10

Thanks for the solution


#12

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