From f0d0f4cd7e1fd024c8051a969e4e52f4eb84be59 Mon Sep 17 00:00:00 2001 From: Braeden Sowinski Date: Fri, 29 Apr 2022 22:20:22 -0700 Subject: [PATCH] step 6 work --- test/scheduleGenerator/v3.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/test/scheduleGenerator/v3.py b/test/scheduleGenerator/v3.py index 64d4a8e..4438dba 100644 --- a/test/scheduleGenerator/v3.py +++ b/test/scheduleGenerator/v3.py @@ -343,7 +343,7 @@ def generateScheduleV3(students: list, courses: dict, blockClassLimit: int=40, s while conflicts: count = sum(1 for b in blocks if len(b)==1) - print(blocks) + print(blocks, "\n") if count < student["expectedClasses"]: # Attempt to fix @@ -360,14 +360,28 @@ def generateScheduleV3(students: list, courses: dict, blockClassLimit: int=40, s if list(running).index(block) != index and list(running).index(block) in freeBlocks: for cname in running[block]: if cname[:-2] == blocks[index][moveIndex][:-2] and len(running[block][cname]["students"]) < classCap: + + print("index: ", index) + print("blockOut: ", blockOut) + print("classOut: ", classOut) + print("blockIn: ", block) + print("classIn: ", cname) + studentData = { "Pupil #": student["Pupil #"], "index": student["studentIndex"] } - print(running[blockOut][classOut]["students"]) studentIndex = running[blockOut][classOut]["students"].index(studentData) - del running[blockOut][classOut]["students"][studentIndex] + + # Update current blocks to work with + blocks[index].remove(classOut) + blocks[list(running).index(block)].append(cname) + + # Update Final Records + del running[blockOut][classOut]["students"][studentIndex] # Remove final running[block][cname]["students"].append(studentData) + + print(blocks) found, done = True, True break @@ -376,8 +390,11 @@ def generateScheduleV3(students: list, courses: dict, blockClassLimit: int=40, s moveIndex += 1 elif moveIndex == len(blocks[index])-1: print("Failed") + done = True break + print("=========================\n") + elif count == student["expectedClasses"]: conflicts = False elif count > student["expectedClasses"]: