Advertisement
Guest User

coursach_2

a guest
Feb 16th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.12 KB | None | 0 0
  1. class Assistant:
  2.     def __init__(self,numofpairs,name):
  3.         self.pairs=[]
  4.         self.numofpairs=numofpairs
  5.         self.name=name
  6.     def getPairs(self):
  7.         return self.pairs
  8.     def getNumOfPairs(self):
  9.         return self.numofpairs
  10.     def addPair(self,num):
  11.         self.pairs.append(num)
  12.         self.numofpairs=self.numofpairs-1
  13.     def setNumOfPairs(self,num):
  14.         self.numofpairs=num
  15.     def getName(self):
  16.         return self.name
  17.     def removePair(self,num):
  18.         self.pairs.pop(self.pairs.index(num))
  19. class Pair:
  20.     def __init__(self,numofstud,hourss,hoursf):
  21.         self.students=[]
  22.         self.numofstudents=numofstud
  23.         self.start=hourss
  24.         self.end=hoursf
  25.     def getStudents(self):
  26.         return self.students
  27.     def getNumOfStudents(self):
  28.         return self.numofstudents
  29.     def addStudent(self,num):
  30.         self.students.append(num)
  31.         self.numofstudents=self.numofstudents-1
  32.     def setNumOfStudents(self,num):
  33.         self.numofstudents=num
  34.     def getHours(self):
  35.         return self.start+'-'+self.end
  36.     def removeStudent(self,num):
  37.         self.students.pop(self.students.index(num))
  38. a1=[]
  39. a1.append(Assistant(2,'Ivanov Sergey'))
  40. a1.append(Assistant(3,'Shamsutdinov Artemiy'))
  41. a2=[]
  42. a2.append(Pair(1,'12.10','13.30'))
  43. a2.append(Pair(2,'13.40','15.00'))
  44. a3=[(1,2),(1,1),(2,2),(2,1)]
  45. for item in a3:
  46.     a1[item[0]-1].addPair(item[1])
  47.     a2[item[1]-1].addStudent(item[0])
  48. for i in range (len(a2)):
  49.     if a2[i].getNumOfStudents()<0:
  50.         rangeofpairs=[]
  51.         for j in a2[i].getStudents():
  52.             rangeofpairs.append(a1[j-1].getNumOfPairs())
  53.         rangeofpairs.sort()
  54.         ind=0
  55.         j = 0
  56.         while a2[i].getNumOfStudents()<0:
  57.             if a1[j].getNumOfPairs()==rangeofpairs[ind]:
  58.                     a1[j].removePair(i+1)
  59.                     a1[j].setNumOfPairs(a1[j].getNumOfPairs()+1)
  60.                     a2[i].setNumOfStudents(a2[i].getNumOfStudents()+1)
  61.                     a2[i].removeStudent(j+1)
  62.                     ind+=1
  63.             else:
  64.                     j += 1
  65. for i in a2:
  66.     print(i.getStudents())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement