diff --git a/analyze_grades.py b/analyze_grades.py index bb9587abb7d58f1bb77f371adec1b4965253a5a2..32c86bc0cc630c476e39c29737f3dc490c8b3084 100644 --- a/analyze_grades.py +++ b/analyze_grades.py @@ -68,11 +68,14 @@ def print_statistics_for_some_majors(assignment: CanvasAssignment, majors: Set[M def print_statistics(assignment: CanvasAssignment, major_partitions: Dict[Major, Set[CanvasUser]]) -> None: - print(f'Statistics for {assignment}:') - computing_majors: Set[Major] = {major for major in Major.majors if major.is_computing_major} - non_computing_majors: Set[Major] = {major for major in major_partitions.keys() if not major.is_computing_major} - print_statistics_for_some_majors(assignment, computing_majors, major_partitions) - print_statistics_for_some_majors(assignment, non_computing_majors, major_partitions) + if assignment.get_points_possible() == 0: + print(f'WARNING: {assignment} is a 0-point assignment; cannot compute scaled mean score.') + else: + print(f'Statistics for {assignment}:') + computing_majors: Set[Major] = {major for major in Major.majors if major.is_computing_major} + non_computing_majors: Set[Major] = {major for major in major_partitions.keys() if not major.is_computing_major} + print_statistics_for_some_majors(assignment, computing_majors, major_partitions) + print_statistics_for_some_majors(assignment, non_computing_majors, major_partitions) def print_statistics_by_section(course: CanvasCourse, assignment: CanvasAssignment,