8/9 part of a whole


#1

Same code but showing this error **"Oops, try again. getclass_average([alice]) resulted in an error: list indices must be integers, not str"**_


8/9 Part of the Whole - my code is not wrong
#3

line 52, you call get_average() with an argument of students, but students is a list, get_average is designed to calculate the average of a single student


#4

yeah thanx... i rectified my error

Now it shows "
Oops, try again. get_class_average([lloyd]) returned 91.15 instead of 80.55 as expected"


#5

can you post an updated version of your full code? Please copy paste it so we can run it rather then having to look at an image


#6

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))
    print total/len(numbers)
    return total/len(numbers)
    
def get_average(student):
    homework=average(student["homework"])
    quizzes=average(student["quizzes"])
    tests=average(student["tests"])
    sum_avg=(0.1*homework)+(0.3*quizzes)+(0.6*tests)
    return sum_avg

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_average(tyler)


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

#7

from the instructions:

calculate get_average(student) and then call results.append() with that result.

not sure why you calculate the average for alice, what if the class consist of lloyd? or lloyd and tyler?


#8

i didn't understand..what should i do?


#9

well, you need to calculate the average (get_average) of student and append it to results


#13

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