Student Becomes the Teacher - Sending a Letter


#1



https://www.codecademy.com/courses/python-beginner-en-qzsCL/1/3?curriculum_id=4f89dab3d788890003000096#


Program sends this error message: "Oops, try again. get_letter_grade(100) returned 'C' instead of 'A' as expected."


I expected the program to return "A" instead of "C"


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


#2

Hi, @gigasurfer31751 ,

The get_letter_grade function should use the value of score that is passed to it when it is called. This line should be removed from the function, because it overwrites that value ...

score = get_average(student)

#3

got it thanks for the help it works now


#4

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