Part of the Whole


#1



https://www.codecademy.com/courses/python-beginner-en-qzsCL/1/4?curriculum_id=4f89dab3d788890003000096


I am not sure why my code correctly runs...

Here is the error message I am facing.
"Oops, try again. get_class_average([alice]) returned 83.8666666667 instead of 91.15 as expected"


Can you specify the point I missing?


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]
}

classroom = [lloyd, alice, tyler]

def average(numbers):
    total = float(sum(numbers))
    return total / len(numbers)
    
def get_average(student):
    homework = average(student["homework"])
    quizzes = average(student["quizzes"])
    tests = average(student["tests"])
    return homework * 0.1 + quizzes * 0.3 + tests * 0.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"

def get_class_average(students):
    results = []
    for student in classroom:
        results.append(get_average(student))
    return average(results)
    
print get_letter_grade(get_class_average(member))


#2

lets make some function calls:

get_class_average([alice])
get_class_average([alice, lloyd])
get_class_average([alice, lloyd, tyler])

your function should work for all this function calls, currently your code would only work for the last function call, maybe you should look into how the function parameter fits into the picture


#3

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