Part of Whole: Very Confused


#1

Instruction:
1. Define a function called get_class_average that has one argument students. You can expect students to be a list containing your three students.
2. First, make an empty list called results.
3. For each student item in the class list, calculate get_average(student) and then call results.append() with that result.
4. Finally, return the result of calling average() with results.

I'm lost, what did I do wrong


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

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


#2

In what way does it misbehave? You've so far pasted the instructions and your code, saying it's wrong, I have a very hard time finding anything to reply to.
Have you tried observing what it does? If you know what it does and you watch it run, then you should be able to tell where it goes wrong.
Rather than ask what's wrong, it would be better to address what's stopping you from finding that out yourself.


#3

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