MCPcopy Index your code
hub / github.com/bslatkin/effectivepython / BySubjectGradebook

Class BySubjectGradebook

example_code/item_029.py:79–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

77from collections import defaultdict
78
79class BySubjectGradebook:
80 def __init__(self):
81 self._grades = {} # Outer dict
82
83 def add_student(self, name):
84 self._grades[name] = defaultdict(list) # Inner dict
85
86 def report_grade(self, name, subject, grade):
87 by_subject = self._grades[name]
88 grade_list = by_subject[subject]
89 grade_list.append(grade)
90
91 def average_grade(self, name):
92 by_subject = self._grades[name]
93 total, count = 0, 0
94 for grades in by_subject.values():
95 total += sum(grades)
96 count += len(grades)
97 return total / count
98
99
100print("Example 4")

Callers 1

item_029.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected