fix step 3

This commit is contained in:
SowinskiBraeden committed 2022-04-25 13:37:50 -07:00
1 parent 27936cd012
commit b206a2b22a
1 file changed
+4 -16
+4 -16
View File
@@ -67,7 +67,7 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
# Step 1 - Calculate which classes can run # Step 1 - Calculate which classes can run
for student in students: for student in students:
# Tally class request # Tally class request
for request in (request for request in student["requests"] if not request["alt"] and request not in ["XAT--12A-S", "XAT--12B-S"]): for request in (request for request in student["requests"] if not request["alt"] and request["CrsNo"] not in ["XAT--12A-S", "XAT--12B-S"]):
code = request["CrsNo"] code = request["CrsNo"]
courses[code]["Requests"] += 1 courses[code]["Requests"] += 1
# Add course to active list if enough requests # Add course to active list if enough requests
@@ -172,7 +172,7 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
alternates = [request for request in student["requests"] if request["alt"]] alternates = [request for request in student["requests"] if request["alt"]]
altOffset = None altOffset = None
if len(alternates) > 0: altOffset = 0 if len(alternates) > 0: altOffset = 0
for request in (request for request in student["requests"] if not request["alt"] and request not in ["XAT--12A-S", "XAT--12B-S"]): for request in (request for request in student["requests"] if not request["alt"] and request["CrsNo"] not in ["XAT--12A-S", "XAT--12B-S"]):
course = request["CrsNo"] course = request["CrsNo"]
getAvailableCourse = True getAvailableCourse = True
while getAvailableCourse: while getAvailableCourse:
@@ -249,20 +249,8 @@ def generateScheduleV3(students: list, courses: dict) -> dict[str, dict]:
allClassRunCounts.remove(allClassRunCounts[index]) allClassRunCounts.remove(allClassRunCounts[index])
courseRunInfo.pop(list(courseRunInfo)[index]) courseRunInfo.pop(list(courseRunInfo)[index])
# This will require knowing how many classrooms there are, for block in running:
# how many classrooms for a type of class, computer, wood, print(f"{block}: {len(running[block])}")
# metal, art, drama, music.
# Languages, socials, math, science, and English all share
# the same classroom type and can be interchanged.
# Teachers can be figured out at the end of this step,
# The school can hire more teachers in the area required,
# so we do not need to worry about how many tpye of classes
# are in the same block.
# For example: we don't need to worry if there is 4 english
# classes in the same block. even though the school may only
# have 2 english teachers.
# Step 5 - Evaluate, move classes or students to fix # Step 5 - Evaluate, move classes or students to fix
return running return running