Keep getting error


#1

I keep getting this error. "Oops, try again. get_class_average([alice, lloyd]) returned 91.15 instead of 85.85 as expected"

I don't know why it's taking only "alice" and "lloyd" for students. Do I need to define my students list at some point?


8. Part of the Whole
#2

Common error in this case is incorrect indentation of the return statement. It should be outside of the loop.

Additionally, since we cannot see your code, your students list should be above any references to it. Just under the dictionaries is a good place write that.


#3

Hi I have the same error and i have the return statement outside of the loop. Can you help ?

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]
}
def average(numbers):
    total = sum(numbers) 
    avg = float(total)/len(numbers)
    return avg

students = [lloyd, alice, tyler]

def get_average(student):
    homework = average(student["homework"])
    quizzes = average(student["quizzes"])
    tests = average(student["tests"])    
    
    homework = homework*0.1
    quizzes = quizzes*0.3
    tests = tests*0.6
    d = homework + quizzes + tests 
    return d
    print d 
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"
get_letter_grade(get_average(lloyd))
print get_letter_grade(get_average(lloyd))

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

#4

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