Skip to content
Snippets Groups Projects
Commit d3d238a8 authored by Christopher Bohn's avatar Christopher Bohn :thinking:
Browse files

Reset A/B/C students; report correct number of students in each section

parent c2d94629
No related branches found
No related tags found
No related merge requests found
......@@ -104,13 +104,13 @@ def print_sample_scores(assignment: CanvasAssignment,
major_partitions: Dict[Major, Set[CanvasUser]],
students: Optional[List[CanvasUser]] = None) -> None:
points_possible: float = assignment.get_points_possible()
a_student: Optional[CanvasUser] = None
b_student: Optional[CanvasUser] = None
c_student: Optional[CanvasUser] = None
for major in majors:
student_subset: Set[CanvasUser] = major_partitions[major].copy() if students is None \
else major_partitions[major].intersection(students)
selected_students: Set[CanvasUser] = set()
a_student: Optional[CanvasUser] = None
b_student: Optional[CanvasUser] = None
c_student: Optional[CanvasUser] = None
if len(student_subset) == 0:
print(f'{major.name}: no students.')
elif len(student_subset) <= 30:
......@@ -150,17 +150,17 @@ def print_statistics_for_some_majors(assignment: CanvasAssignment,
students: Optional[List[CanvasUser]] = None) -> None:
points_possible: float = assignment.get_points_possible()
for major in majors:
student_subset: Set[CanvasUser] = major_partitions[major] if students is None \
student_subset: Set[CanvasUser] = major_partitions[major].copy() if students is None \
else major_partitions[major].intersection(students)
valued_scores: List[float] = [scores[student] for student in student_subset
if scores[student] is not None]
try:
average_score: float = statistics.mean(valued_scores)
scaled_average_score: float = 100 * average_score / points_possible
print(f'{major.name:27}students:{len(major_partitions[major]):>3} '
print(f'{major.name:27}scored students:{len(valued_scores):>3} '
f'scaled mean score: {scaled_average_score:.2f}%')
except statistics.StatisticsError as exception:
print(f'{major.name:27}students:{len(major_partitions[major]):>3} no mean score computed: {exception}')
print(f'{major.name:27}scored students:{len(valued_scores):>3} no mean score computed: {exception}')
def print_statistics(assignment: CanvasAssignment,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment