Advertisement
Poganu

Untitled

Oct 21st, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.37 KB | None | 0 0
  1.  
  2. # Clasa Task
  3.     # numeTask
  4.     # durata
  5.     # oraStart
  6.  
  7.     # __init__
  8.     # __repr__
  9.     #disjoint(t)
  10.     #__eq__
  11.     #inserabil()
  12.     #__gt__
  13.     #clone
  14.  
  15. # class Zi
  16.     # zi
  17.     # taskuri: Lista
  18.  
  19.     # __init__
  20.     # __repr__
  21.     # adaugareTask(*)
  22.     # durataTotala()
  23.  
  24. # class Agenda
  25.     # coada circulara de zile
  26.  
  27. # Clasa Day(enum.Enum):
  28.     #Monday = 0
  29.     #Tuesday = 1
  30.     #Wednesday = 2
  31.     #Thursday = 3
  32.     #Friday = 4
  33.     #Saturday = 5
  34.     #Sunday = 6
  35. import enum
  36.  
  37. class Day(enum.Enum):
  38.     def __init__(self):
  39.         Monday = 0
  40.         Tuesday = 1
  41.         Wednesday = 2
  42.         Thursday = 3
  43.         Friday = 4
  44.         Saturday = 5
  45.         Sunday = 6
  46.  
  47. class Task:
  48.     def __init__(self, numeTask, durata, oraStart):
  49.         self.numeTask = numeTask
  50.         self.durata = durata
  51.         self.oraStart = oraStart
  52.         self.link = None
  53.  
  54.     def __repr__(self):
  55.         return ("Task-ul " + str(self.numeTask) + " dureaza " + str(self.durata))
  56.  
  57.     def disjoint(self, t):
  58.         if (self.oraStart + self.durata) <= t.oraStart:
  59.             return True
  60.         elif (t.oraStart + t.durata) <= self.oraStart:
  61.             return True
  62.         else:
  63.             return False
  64.  
  65.     def __eq__(self, t):
  66.         if t != None:
  67.             if (self.oraStart != t.oraStart):
  68.                 return False
  69.             else:
  70.                 return True
  71.  
  72.     def __gt__(self, t):
  73.         if t != None:
  74.             if t.oraStart > self.oraStart:
  75.                 return True
  76.             else:
  77.                 return False
  78.  
  79.     def clone(self):
  80.         return Task(self.numeTask, self.durata, self.oraStart, self.link)
  81.  
  82.     def inserabil(self):
  83.         if self.oraStart + self.durata <= 24:
  84.             return True
  85.         else:
  86.             return False
  87.  
  88. class Zi:
  89.     def __init__(self, zi):
  90.         self.Zi = zi
  91.         self.taskuri = None
  92.  
  93.  
  94.     def adaugareTask(self, t):
  95.         if t == None:
  96.             return
  97.         if self.durataTotala() < 24:
  98.             if t.inserabil() == True:
  99.                 sePoate = True
  100.                 tk = self.taskuri
  101.                 while tk != None:
  102.                     if t.disjoint(tk) == False:
  103.                         sePoate = False
  104.                         break
  105.                     tk = tk.link
  106.                 if sePoate == True:
  107.                     if self.taskuri == None:
  108.                         self.taskuri = t
  109.                     else:
  110.                         t.link = self.taskuri
  111.                         self.taskuri = t
  112.                 else:
  113.                     print("Nu se poate insera task-ul ")
  114.  
  115.         else:
  116.             print("Nu mai este loc")
  117.  
  118.     def adaugareSpate(self, task):
  119.         return None
  120.  
  121.     def durataTotala(self):
  122.         durata = 0
  123.         i = self.taskuri
  124.         while i != None:
  125.             durata += i.durata
  126.             i = i.link
  127.         return durata
  128.  
  129.     def __repr__(self):
  130.         s = " zi:"
  131.         s = s + str(self.Zi) + " "
  132.         i = self.taskuri
  133.         while i != None:
  134.             s = s + str(i) + ""
  135.             i = i.link
  136.         return s
  137.  
  138.  
  139. task1 = Task("Fac baie", 2, 20)
  140. print(task1)
  141.  
  142. task2 = Task("Mananc", 1, 20)
  143. print(task2)
  144.  
  145. task3 = Task("Iaca stau", 3, 16)
  146. print(task3)
  147.  
  148. ziua = Zi(1)
  149. ziua.adaugareTask(task1)
  150. ziua.adaugareTask(task2)
  151. ziua.adaugareTask(task3)
  152. print(ziua)
  153.  
  154. #ziua.adaugareTask()
  155.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement