Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. ''' Seminar 2 '''
  2. class Student:
  3. def __init__(self, sId, sName, sMajor):
  4. self._sId = sId
  5. self._sName = sName
  6. self._sMajor = sMajor
  7.  
  8. def __str__(self):
  9. return f"{self._sId} {self._sName} {self._sMajor}"
  10.  
  11. class Module:
  12. def __init__(self, mCode, mName, mCapacity):
  13. self._mCode = mCode
  14. self._mName = mName
  15. self._mCapacity = mCapacity
  16. self._mCount = 0
  17. @property
  18. def Code(self):
  19. return self._mCode
  20. def addStudent(self, sCount):
  21. self._mCount += sCount
  22.  
  23. def __str__(self):
  24. return f"{self._mCode} {self._mName} {self._mCount}"
  25.  
  26. class Enrolment:
  27. _eId = 0
  28. def __init__(self, student, module):
  29. self._student = student
  30. self._module = module
  31. Enrolment._eId +=1 # Increment class variable by 1
  32. self._eId = Enrolment._eId # Use it as the Id for this instance
  33.  
  34. def __str__(self):
  35. return self._student.__str__() + " " + self._module.__str__()
  36.  
  37. def showModEn(modules, enrolments):
  38. for mod in modules:
  39. print(mod)
  40. for en in enrolments:
  41. print(en)
  42. def addEnrolment(students, modules, enrolments):
  43. sId = input("Enter student Id: ")
  44. mCode = input("Enter module code: ")
  45. # Get the student instance and module instance
  46. # Assuming both student and module exist
  47. student = students[sId]
  48. for mod in modules:
  49. if mod.Code == mCode:
  50. break
  51.  
  52. # Create enrolment record and add to enrolments
  53. mod.addStudent(1) # Update module count
  54. en = Enrolment(student, mod)
  55. enrolments.append(en)
  56.  
  57. def main():
  58. students = {'s1':Student('s1', 'Alice', 'BICT'), \
  59. 's2':Student('s2', 'Benny', 'BHERP')}
  60. modules = [Module('ICT133', 'Python', 200), \
  61. Module('ICT162', 'Python OO', 100)]
  62.  
  63. enrolments = [] # Empty list
  64.  
  65. menu = "1. Show\n2. Add enrolment\n0. Quit\n"
  66. while (True):
  67. print(menu)
  68. option = int(input("Choose an option: "))
  69. if option == 1:
  70. showModEn(modules, enrolments)
  71. elif option == 2:
  72. addEnrolment(students, modules, enrolments)
  73. elif option == 0:
  74. break
  75. else:
  76. print("Invalid option\n")
  77.  
  78. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement