Part 9


#1

Though my code executes and the output seems to be correct. I get a notification saying "Oops, try again. One of the following is missing or broken when we tried to use it: alice, lloyd, tyler, students, get_class_average, get_letter_grade"

did somebody face similar situation?

import math
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))
    return total/len(numbers)
    
def get_average(student):
    homework = average(student["homework"])
    quizzes = average(student["quizzes"])
    tests = average(student["tests"])
    return float((homework*0.1)+(quizzes*0.3)+(tests*0.6))
    
def get_letter_grade(score):
    if(math.isnan(score)):
        return "Error!"
    
    if score>=90:
        return "A"
    elif score>=80:
        return "B"
    elif score>=70:
        return "C"
    elif score>=60:
        return "D"
    else:
        return "F"

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

print get_class_average([alice, lloyd, tyler])
print get_letter_grade(get_class_average([alice, lloyd, tyler]))

Chapitre 9 comment tout le monde s'en sort
#2

This list should be cached in students...

students = [alice, lloyd, tyler]

This is already a float, so no need to apply it again.

Not called for in the instructions, but intuitive, all the same. Still not able to nail down what the real issue is, though. The error is SCT related, unless there is also an error showing in the console.


#3

Pasted your code into lesson 9 and got this error in the console:

  File "python", line 21
    `# Add your function below!`
                               ^
SyntaxError: invalid syntax

I don't recall seeing this before, but the backticks are not valid Python syntax.

# Add your function below!

fixes that.

The code now passes which means all of the above is conjecture (though it does relate to the instructions).


#4

how do you solved your error?
i have this error too and i can't understand what is the problem.

thank you


#5

Are the backticks in the original lesson provided code?


#6

fixed it!!

i declared a students list and used it

students = [lloyd, alice, tyler]
avg = get_class_average(students)
letter = get_letter_grade(avg)
print avg
print letter


#7

You didn't answer my question about the backticks. Please do. Thank you.