Part of the whole


 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 = float(sum(numbers))
    x = ((total) / (len(numbers)))
    return x
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):
    score = float(score)
    if score >= 90:
        return "A"
    elif score >= 80:
        return "B"
    elif score >= 70:
        return "C"
    elif score >= 60:
        return "D"
        return "F"

print get_letter_grade(get_average(lloyd))
print get_letter_grade(get_average(alice))
print get_letter_grade(get_average(tyler))

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

I get get_class_average(alice)] resulted in an error: list indices must be integers, not str.

so I tried making students = [lloyd, alice, tyler] into float() but didn't work, how i'm I supposed to this?

why doesn't it gives an error for lloyd but does for alice?


The reason you're getting an error message is because you are tring to return twice. How you should use the return keyword should be like this.

for student in students:
return average(results)

Whereas the line after the for loop only appends all the items into the empty list.. results.append(get_average(student))
Then the line after returns the average of the results.. (return average(results) ..that is after the for loop has gone through all the data. for student in students:


aah thank you so much! thought that what "call" meant in the instructions got confused


No problem mahn! please click the solution button below my answer! :slight_smile: