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)
|
// console.table(schedule.block8)
|
||||||
|
|
||||||
// Display each students schedule
|
// 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 i = 0; i < students.length; i++) {
|
||||||
for (let j = 0; j < students[i].schedule.length; j++) {
|
console.table(students[i].schedule)
|
||||||
if (students[i].schedule[j] != "") classes++;
|
|
||||||
}
|
|
||||||
if (classes != 8) errors++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`${errors} student(s) have a issue with their schedule`)
|
|
||||||
+30
-6
@@ -2,7 +2,6 @@
|
|||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
import math
|
import math
|
||||||
from prettytable import PrettyTable
|
|
||||||
from courses import courses, activeCourses
|
from courses import courses, activeCourses
|
||||||
from mock import generateMockStudents
|
from mock import generateMockStudents
|
||||||
|
|
||||||
@@ -69,7 +68,7 @@ running = {
|
|||||||
|
|
||||||
|
|
||||||
def generateScheduleV1():
|
def generateScheduleV1():
|
||||||
global err1, err2, err3
|
global err1, err2
|
||||||
# Collect data and calculate schedules
|
# Collect data and calculate schedules
|
||||||
for student in mockStudents:
|
for student in mockStudents:
|
||||||
# Tally class request
|
# Tally class request
|
||||||
@@ -185,16 +184,41 @@ def generateScheduleV1():
|
|||||||
|
|
||||||
|
|
||||||
def generateScheduleV2():
|
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
|
# calculate # of times to run class
|
||||||
# t = PrettyTable(["Class Name", "Class Runcount"])
|
|
||||||
for i in range(len(activeCourses)):
|
for i in range(len(activeCourses)):
|
||||||
classRunCount = math.floor(activeCourses[list(activeCourses)[i]]["totalrequests"] / classCap)
|
classRunCount = math.floor(activeCourses[list(activeCourses)[i]]["totalrequests"] / classCap)
|
||||||
# If there is minReq+ requests left, 1 more class could be run
|
# If there is minReq+ requests left, 1 more class could be run
|
||||||
if (activeCourses[list(activeCourses)[i]]["totalrequests"] % classCap) > minReq: classRunCount += 1
|
if (activeCourses[list(activeCourses)[i]]["totalrequests"] % classCap) > minReq: classRunCount += 1
|
||||||
activeCourses[list(activeCourses)[i]]["classRunCount"] = classRunCount
|
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__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in new issue
Block a user