How is Everybody Doing?


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

Add your function below!

student = ["lloyd","alice","tyler"]
def average(numbers):
total = sum(numbers)
total = float(total)
return 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
def get_letter_grade(score):
if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
return "F"
print get_letter_grade(get_average(lloyd))
def get_class_average(students):
results = []
for student in students:
results.append(get_average(student))
return average(results)
print student
print get_class_average([lloyd,alice,tyler])
print get_letter_grade(get_class_average([lloyd,alice,tyler]))

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

i am not sure what is wrong with my code,
I got result like below:
['lloyd', 'alice', 'tyler']
83.8666666667
B
None


#2

When you call the functions you can use the already existing student list a the argument instead of creating a separate array. Otherwise you are creating the student list for nothing. Without your ode formatted, it is incredibly difficult to see what could be going wrong. Can you edit your post and put the code within the code tags so it will format correctly? At the top of the editor, it is the symbol.
Example:

print get_class_average(student)
print get_letter_grade(get_class_average(student))

#3

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