python - Explain the function -
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 function below! def average(numbers): total = sum(numbers) total = float(total) total /= len(numbers) return total def get_average(student): homework = average(student["homework"]) quizzes = average(student["quizzes"]) tests = average(student["tests"]) total = 0.1*homework + 0.3*quizzes + 0.6*tests return total 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" print get_letter_grade(lloyd)
my question is, how function get_letter_grade know use functions average , get_average if not specify them? input dictionary argument function has no use them compariisment.
the function get_letter_grade doesn't "know" use average , get_average functions.
what trying achieve more this:
print get_letter_grade(get_average(lloyd))
or easier read:
# lloyds average score lloyd_score = get_average(lloyd) # letter grade corresponding lloyd's average score lloyd_letter_grade = get_letter_grade(lloyd_score) # print letter grade print lloyd_letter_grade
Comments
Post a Comment