Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Assistant:
- def __init__(self,numofpairs,name):
- self.pairs=[]
- self.numofpairs=numofpairs
- self.name=name
- def getPairs(self):
- return self.pairs
- def getNumOfPairs(self):
- return self.numofpairs
- def addPair(self,num):
- self.pairs.append(num)
- self.numofpairs=self.numofpairs-1
- def setNumOfPairs(self,num):
- self.numofpairs=num
- def getName(self):
- return self.name
- def removePair(self,num):
- self.pairs.pop(self.pairs.index(num))
- class Pair:
- def __init__(self,numofstud,hourss,hoursf):
- self.students=[]
- self.numofstudents=numofstud
- self.start=hourss
- self.end=hoursf
- def getStudents(self):
- return self.students
- def getNumOfStudents(self):
- return self.numofstudents
- def addStudent(self,num):
- self.students.append(num)
- self.numofstudents=self.numofstudents-1
- def setNumOfStudents(self,num):
- self.numofstudents=num
- def getHours(self):
- return self.start+'-'+self.end
- def removeStudent(self,num):
- self.students.pop(self.students.index(num))
- a1=[]
- a1.append(Assistant(2,'Ivanov Sergey'))
- a1.append(Assistant(3,'Shamsutdinov Artemiy'))
- a2=[]
- a2.append(Pair(1,'12.10','13.30'))
- a2.append(Pair(2,'13.40','15.00'))
- a3=[(1,2),(1,1),(2,2),(2,1)]
- for item in a3:
- a1[item[0]-1].addPair(item[1])
- a2[item[1]-1].addStudent(item[0])
- for i in range (len(a2)):
- if a2[i].getNumOfStudents()<0:
- rangeofpairs=[]
- for j in a2[i].getStudents():
- rangeofpairs.append(a1[j-1].getNumOfPairs())
- rangeofpairs.sort()
- ind=0
- j = 0
- while a2[i].getNumOfStudents()<0:
- if a1[j].getNumOfPairs()==rangeofpairs[ind]:
- a1[j].removePair(i+1)
- a1[j].setNumOfPairs(a1[j].getNumOfPairs()+1)
- a2[i].setNumOfStudents(a2[i].getNumOfStudents()+1)
- a2[i].removeStudent(j+1)
- ind+=1
- else:
- j += 1
- for i in a2:
- print(i.getStudents())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement