8.part of whole (help me pls)


#1



8.part of whole (help me pls)

display all the time: Oops, try again. get_class_average([alice]) resulted in an error: list indices must be integers, not str


What's wrong with my code?


Replace this line with your 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))
    total = total / len(numbers)
    return total
    
def get_average(student):
    homework = float(sum(student["homework"]))/ len(student["homework"])
    return 0.1 * average(student["homework"]) + 0.3 * average(student["quizzes"]) + 0.6 * average(student["tests"])
    
def get_letter_grade(score):
    if score >= 90.0:
        return "A"
    elif score >= 80.0:
        return "B"
    elif score >= 70.0:
        return "C"
    elif score >= 60.0:
        return "D"
    else:
        return "F"

print get_letter_grade(get_average(lloyd))
print get_letter_grade(get_average(alice))
print get_letter_grade(get_average(tyler))

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


#2

This function call should have a single student dictionary in the argument, not the students list.


#3

This suggestion isn't correct. What you're being asked to do is append each student's combined weighted results, and then return the average of the value in the results list once appending to the list has been completed.

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

#5

One issue at a time. Let the learner craft their own solution from our hints, one mistake at a time. We still have no acknowledgement of the first concern.


#6

thank you so much, I got it, and I forgot to create the list students with the names.


#7

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