Skip to content

Instantly share code, notes, and snippets.

@rodrigoSyscop
Created January 11, 2017 13:27
Show Gist options
  • Save rodrigoSyscop/796e2461e779ee2af424903864d99a56 to your computer and use it in GitHub Desktop.
Save rodrigoSyscop/796e2461e779ee2af424903864d99a56 to your computer and use it in GitHub Desktop.
Exercício codeacademy
#!/usr/bin/python
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):
""" retorna a media de uma lista de numeros """
soma = float(sum(numbers)) # soma e converte para float
qtd = len(numbers)
return soma/qtd
def get_average(student):
""" retorna a media entre os trabalhos, quizzes e testes de um aluno """
homework_average = average(student['homework'])
quizzes_average = average(student['quizzes'])
tests_average = average(student['tests'])
# nao lembro se esses pesos estao corretos!!!!!!!!!!!!!
final_average = 0.6*homework_average + 0.3*quizzes_average + 0.1*tests_average
return final_average
def get_class_average(students):
""" retorna a media geral para uma classe de estudantes """
results = []
for student in students:
student_average = get_average(student)
results.append(student_average)
return average(results)
# executa a funcao get_class_average para uma classe/lista com tres estudantes
# armazena o resultado na variavel class_average
class_average = get_class_average([tyler, lloyd, alice])
# exibe o resultado na tela
# # %.2f significa um numero float com duas casas decimais (depois do .)
print("Media da classe: %.2f" % class_average)
# Saída:
# python ian.py
# Media da classe: 76.62
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment