# Problems with 7

#1

``````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 (homework * 0.1) + (tests * 0.6) + (quizzes * 0.3)

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

#2

why isnt it working anyone help

#3

This entire thing:

Is under the `get_average` function even though it shouldn't be. Delete one indent for each line for that function to fix that(including the function title). Also, your print statement is indented unnecessarily. Otherwise, everything seems to be correct. Pay attention to indents for the future though. One wrong indent in Python can screw up your entire code.

#4

def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
return 0.10 * average(student["homework"]) + \
0.30 * average(student["quizzes"]) + \
0.60 * average(student["tests"])

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_average(lloyd):
print score

You can try something like this too. Your code is a little off.
The "print" function is under the "def" so it won't work that way. In order to execute the entire code, try to keep "print" outside the "def get_letter_grade(score).

Ask, if you have more questions.

#5

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