# Sending a letter - print output... not quite as imagined

#1

Hi there,

First of all - total beginner [wave] - please be gentle.

At the “Sending a letter” exercise, I’ve put in the code below - when I run it, I get this printed out:

It still gives me the OK when running it and I can proceed to the next lesson, but something is obviously wrong and I can’t pinpoint what.

Much obliged!

``````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]
}

def average(numbers):
total = sum(numbers)
total = float(total)
total = total / len(numbers)

def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
return 0.1 * homework + 0.3 * quizzes + \
0.6 * tests

if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >=70:
return "C"
elif score>= 60:
return "D"
else:
return "F"

``````

#2

This statement calls the function, but does not `print` the result …

``````get_letter_grade(get_average(lloyd))
``````

This statement displays only a reference to the function because it does not call it …

``````print get_letter_grade
``````

``````<function get_letter_grade at 0x7f0d824e1ed8>
``````

Combine the two statements into a single one that both calls the function and `print`s the result.

#3

Hi @appylpye,

Oooooh. Yeah, it was staring me in the face, wasn’t it?