From 2a17752e71f8be62512d070ff0fc32433ee4055c Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Sun, 22 May 2022 20:09:04 -0700 Subject: [PATCH] schedule error tracking --- test/error.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/error.py diff --git a/test/error.py b/test/error.py new file mode 100644 index 0000000..b75e1be --- /dev/null +++ b/test/error.py @@ -0,0 +1,21 @@ +import json + +f = open('./output/students.json') +students = json.load(f) +f.close() + +couldnt_resolve = 0 +missing_classes = 0 +acceptable_missing_classes = 0 + +for student in students: + blocks = [student["schedule"][block] for block in student["schedule"]] + conflicts = sum(1 for b in blocks if len(b)>1) + if conflicts == 0 and student["classes"] == student["expectedClasses"]: continue + if conflicts > 0: couldnt_resolve += 1 + if (student["expectedClasses"] - 2) <= student["classes"] < student["expectedClasses"]: acceptable_missing_classes += 1 + if student["classes"] < (student["expectedClasses"] - 2): missing_classes += 1 + +print(f"Couldn't resolve : {couldnt_resolve}/{len(students)} - {round((couldnt_resolve/len(students))*100, 2)}%") +print(f"Missing classes : {missing_classes}/{len(students)} - {round((missing_classes/len(students))*100, 2)}%") +print(f"Acceptable Missing classes : {acceptable_missing_classes}/{len(students)} - {round((acceptable_missing_classes/len(students))*100, 2)}%")