From d3d238a805f6595ada39b7ccf32f6d9fa2771fbd Mon Sep 17 00:00:00 2001 From: Christopher Bohn <bohn@unl.edu> Date: Wed, 24 May 2023 17:55:26 -0500 Subject: [PATCH] Reset A/B/C students; report correct number of students in each section --- analyze_grades.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/analyze_grades.py b/analyze_grades.py index 3eaa57f..37c9ffa 100755 --- a/analyze_grades.py +++ b/analyze_grades.py @@ -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, -- GitLab