Part of the whole error, student becomes the teacher


#1



Oops, try again. get_class_average([alice]) resulted in an error: 'NoneType' object is not iterable


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)
    a = total / len(numbers)
    return a
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 students:
        a = get_average(student)
        results = results.append(a)
    return average(results)


#2

here:

results = results.append(a)

append() will update the list for you, no need to store it in a variable


#3

wow, that's really helpful. Thanks


#4

issue resolved or do you need more help with this exercise?


#5

this problem solved, but i have another problem on the next session (how is everybody doing)

'''Oops, try again. One of the following is missing or broken when we tried to use it: alice, lloyd, tyler, students, get_class_average, get_letter_grade''' I put this question on another new topic


#6

I saw the new topic, i was actually working on that topic as we speak, will be with your shortly :wink:


#7

initialize
students list with the names
students= [lloyd,alice,tyler]
before the last print statements


#8

See his new topic:

he created students. So that is fine :slight_smile:


#9

I couldn't find the list called students in the code above.....@stetim94


#10

True, technically it should be present, but it start causing problems if it is not present in 9. how is everybody doing, and it was not the reason this exercise wouldn't work


#11

Stetim, it prints out: "Oops, try again. Make sure you have defined get_class_average"

Heres my code:

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


#12

this is not your topic? Please make your own. By the way, this topic contains the solution to your problem:


#13

Ty for the reply. Still not working though =(


#14

well, make your own topic so someone can help you :wink:


#15