update/work on test commit before laptop dies
This commit is contained in:
1 parent
f8d531f1b1
commit
c7bdc8c75b
2 files changed
+31
-18
No files matched your search
+1
-12
@@ -16,17 +16,6 @@ let students = require('./students.json');
|
||||
// console.table(schedule.block8)
|
||||
|
||||
// Display each students schedule
|
||||
// for (let i = 0; i < students.length; i++) {
|
||||
// console.table(students[i].schedule)
|
||||
// }
|
||||
|
||||
let errors = 0;
|
||||
let classes;
|
||||
for (let i = 0; i < students.length; i++) {
|
||||
for (let j = 0; j < students[i].schedule.length; j++) {
|
||||
if (students[i].schedule[j] != "") classes++;
|
||||
console.table(students[i].schedule)
|
||||
}
|
||||
if (classes != 8) errors++;
|
||||
}
|
||||
|
||||
console.log(`${errors} student(s) have a issue with their schedule`)
|
||||
+30
-6
@@ -2,7 +2,6 @@
|
||||
import sys
|
||||
import json
|
||||
import math
|
||||
from prettytable import PrettyTable
|
||||
from courses import courses, activeCourses
|
||||
from mock import generateMockStudents
|
||||
|
||||
@@ -69,7 +68,7 @@ running = {
|
||||
|
||||
|
||||
def generateScheduleV1():
|
||||
global err1, err2, err3
|
||||
global err1, err2
|
||||
# Collect data and calculate schedules
|
||||
for student in mockStudents:
|
||||
# Tally class request
|
||||
@@ -185,16 +184,41 @@ def generateScheduleV1():
|
||||
|
||||
|
||||
def generateScheduleV2():
|
||||
# This is just for data testing/visualizations
|
||||
global err1, err2
|
||||
# Collect data and calculate schedules
|
||||
for student in mockStudents:
|
||||
# Tally class request
|
||||
for request in student["requests"]:
|
||||
courses[request]["totalrequests"] += 1
|
||||
courses[request]["studentindexes"].append(mockStudents.index(student))
|
||||
# Add course to active list if enough requests
|
||||
if courses[request]["totalrequests"] > minReq and courses[request]["code"] not in activeCourses: activeCourses[courses[request]["code"]] = courses[request]
|
||||
|
||||
# calculate # of times to run class
|
||||
# t = PrettyTable(["Class Name", "Class Runcount"])
|
||||
for i in range(len(activeCourses)):
|
||||
classRunCount = math.floor(activeCourses[list(activeCourses)[i]]["totalrequests"] / classCap)
|
||||
# If there is minReq+ requests left, 1 more class could be run
|
||||
if (activeCourses[list(activeCourses)[i]]["totalrequests"] % classCap) > minReq: classRunCount += 1
|
||||
activeCourses[list(activeCourses)[i]]["classRunCount"] = classRunCount
|
||||
# t.add_row([activeCourses[list(activeCourses)[i]]["code"], classRunCount])
|
||||
# print(t)
|
||||
|
||||
blockIndex = 1
|
||||
while classRunCount > 0:
|
||||
block = f"block{blockIndex}"
|
||||
if activeCourses[i] not in running[block]:
|
||||
# Generate class and sub 1 from classRunCount
|
||||
running[block][activeCourses[i]] = {
|
||||
"name": courses[activeCourses[i]]["name"],
|
||||
"students": []
|
||||
}
|
||||
classRunCount -= 1
|
||||
else:
|
||||
if blockIndex == 8:
|
||||
# No room in school for more classes
|
||||
# print(f"\nError 2: No more room in school for another class")
|
||||
err2 += 1
|
||||
classRunCount = 0
|
||||
else:
|
||||
blockIndex += 1
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in new issue
Block a user