8. Part of the Whole


#1



Guys please help !

This is the link to the problem I am stuck on is
https://www.codecademy.com/en/courses/python-beginner-en-qzsCL/1/4?curriculum_id=4f89dab3d788890003000096


When I run my code I get an error saying that the line in which i define class (as in class = [lloyd, alice, tyler ] ) it says that it is invalid syntax


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

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

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"

print get_letter_grade(get_average(lloyd))

class = [lloyd, alice, tyler]

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


That's my code


#2

the fact that class is purple in the editor indicate its a keyword. Variable can't have the same name as keywords (print, function and so on), those names are reserved

try naming the list students like you originally did in 3. put it together of students become teacher


#3

i tried that but then i got another error saying Oops, try again. get_class_average([alice, lloyd]) returned 91.15 instead of 85.85 as expected


#4

i saw, but i helped you with where you currently had problems given you the options to troubleshoot any further problems to improve your debug skills

a function ends the moment a return keyword is reached

so your function ends in the first iteration/run of the loop, so it will not calculate the correct class average for a class of 2 or more students


#5

Thank you so much for all the help


#6