O estudante se torna o professor 9/9


#1

Alguém pode ajudar?
Não consigo sair disso.


#2

print get_letter_grade(get_class_average(students))


#3

Não funcionou.

A função para obter a letra está definida sem underline, então ele não reconhece.


#4

Eu declarei a lista students logo depois dos dicionários, tenta fazer isso.


#5

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) / len(numbers)
return total

def get_average(student):
homework = 0.1 * average(student["homework"])
quizzes = 0.3 * average(student["quizzes"])
tests = 0.6 * average(student["tests"])
return homework + quizzes + 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"
else:
return "F"

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

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

print get_letter_grade(get_class_average(students))

assim deu certo para mim


#6

Eu fiz como vc fez mas a mim dá o erro "Oops, tente outra vez. get_class_average([alice, lloyd]) retornou 91.15 em vez de 85.85 como esperado".

Mas no exercicio 9/9 já deixa avançar como ele está, nao entendo o que tem errado no 8/9, alguem consegue explicar?

Obrigado


#7

Já vi, tinha erro no return!


#8

Olá, tive sérios problemas para resolver isso aí. E consegui assim: http://prntscr.com/9jq79u.
Era um problema de identação.

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


#9

Qual era o problema ?


#10

Eu ainda não consegui, tento de tudo e nada..


#12