Average of Average


#1


Student Become Teacher(Part of the Whole)

Oops, try again. get_class_average([alice]) returned 83.8666666667 instead of 91.15 as expected

As per the instruction it should return the total average which is 83.87 same output from my code.


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))
    avg = total/len(numbers)
    return avg
def get_average(student):
    homework = average(student["homework"])
    quizzes = average(student["quizzes"])
    tests = average(student["tests"])
    sum_wavg = homework*0.1+quizzes*0.3+tests*0.6
    return sum_wavg
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))
student_list = [lloyd,alice,tyler]
def get_class_average(students):
    results = []
    for x in student_list:
        results.append(get_average(x))
        print results
    return average(results)
print get_class_average(student_list)


#2

Your function takes one parameter - students.

But in the body of the function you are getting data from the global variable called student_list :slight_smile:

This is the problem.

You should iterate through data passed as an argument. Instead of for x in student_list you should use for x in students.


Result of the function should be dependent upon passed arguments. In your case - returned value is always the same, no matter what the argument is.


#3

aaahh..got it correct...thanks for the quick response.. :slight_smile:


#4

You're very welcome :slight_smile: