8. Part of the Whole


#1

I have been through this forum for every post related to this section and I still cannot find my error! I am getting the error
"Oops, try again. get_class_average([alice]) returned 83.8666666667 instead of 91.15 as expected"

I've been mainly looking to the get_class_average function as where I've gone wrong but now I'm no longer sure as I've seen many solved answers that are the same or very similar. Thanks for any help you can give me!

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

Replace this line with your 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)
    total = total / len(numbers)
    return total
    
def get_average(student):
    homework = average(student["homework"])*.1
    quizzes = average(student["quizzes"])*.3
    tests = average(student["tests"])*.6
    return homework + quizzes + tests

def get_letter_grade(score):
    if score >= 90:
        return "A"
    elif score >= 80 and score <90:
        return "B"
    elif score >= 70 and score < 80:
        return "C"
    elif score >= 60 and score < 70:
        return "D"
    else:
        return "F"

print get_letter_grade (lloyd)

students = [lloyd, alice, tyler]

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

#2

Hi this line

def get_class_average(student):

just add the s to students because your are using it in the for loop here

for student in students:

students is the parameter of the function get_class_average


#4

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