So i am using randomisation to create a time table generating system for my college . I want all theroritical subjects to be randomly assigned in the timetable and the lab hours to be assigned consecutively. For example if 7-8 am is lab1 i want 9-10 am to be lab 1 too .
print("USE THE FOLLOWING ABBREVIATIONS FOR THE SUBJECTS :")
print("""COMPUTER NETWORKS :CS618A \nCOMPUTER GRAPHICS :CS618B\nGRAPHICS(LAB) :CS6P1\nMAJOR PROJECT(LAB) :CS6P2""")
subnum=["CS618A","CS618B","CS6P1","CS6P2"]
for i in range(0, len(subnum)):
sub = input("enter subject :")
f = int(input("enter frequency :"))
d = d + f
for i in range(0, f):
lst.append(sub)
if (d > 30):
print("invalid input")
else:
for i in range(0, 30 - d):
ele = "___"
lst.append(ele)
R = 6
C = 5
k = int(input("enter number of timetables"))
for p in range(k):
lst1 = []
matrix = []
m = []
time = ["8-9 ", "9-10 ", "10-11 ", "11-12 ", "12-1 ", "1-2 "]
for i in range(R):
a = []
for j in range(C):
item = lst[0]
a.append(item)
lst.remove(item)
lst1.append(item)
matrix.append(a)
m = np.array(matrix)
matrix1 = m.T
for e in range(5):
random.shuffle(matrix1[e])
m1 = np.array(matrix1)
matrix2 = m1.T
for m in range(30):
lst.append(lst1[m])
print("-----FE ", end="")
print(p + 1, end="")
print("------")
print("TIME MON TUE WED THU FRI")
for i in range(R):
print(time[i], end="")
for j in range(C):
print(matrix2[i][j], end=" ")
print()
else:
print("INVALID SEMESTER NUMBER")
MY OTPUT LOOKS LIKE THIS: GRAPHICS(LAB) :lab1 MAJOR PROJECT(LAB) :lab2 enter subject :lab1 enter frequency :2 enter subject :lab2 enter frequency :2 enter subject :CS618B enter frequency :4 enter subject :CS618A enter frequency :3 enter number of timetables 1
-----FE 1------
TIME MON TUE WED THU FRI
8-9 ___ ___ ___ ___ CS618B
9-10 ___ ___ lab2 CS618A ___
10-11 CS618A ___ CS618B lab2 ___
11-12 ___ ___ ___ ___ ___
12-1 lab1 CS618B ___ ___ CS618A
1-2 CS618B lab1 ___ ___ ___
I NEED LAB1 TO REPEAT CONSECUTIVELY FOR 2 HOURS IN A DAY . 8-9 AND 9-10 HAS TO BE LAB1 .THE OTHER SUBJECTS LIKE CS18A AND CS618B CAN BE RANDOM