From cf9de52c75e5cc534693a7d9521d410d9947ac95 Mon Sep 17 00:00:00 2001 From: Christopher Bohn <bohn@unl.edu> Date: Fri, 7 Jan 2022 10:24:33 -0600 Subject: [PATCH] Warns users away from 0-point assignments. Closes #1 --- analyze_grades.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/analyze_grades.py b/analyze_grades.py index bb9587a..32c86bc 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, -- GitLab