Advertisement
Guest User

Untitled

a guest
May 27th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1. class Docenti(object):
  2. codice=''
  3. nome=''
  4. cognome=''
  5.  
  6. def __init__(self,nome,cognome,codice,materia):
  7. self.codice=codice
  8. self.nome=nome
  9. self.cognome=cognome
  10. self.materia=materia
  11. def asmat(self,materia):
  12. self.materia=materia
  13.  
  14. doc=[]
  15. cont=0
  16.  
  17. while True:
  18. print("""\n\n1) Inserire dati anagrafici di un docente
  19. 2) Assegnare la materia a un docente
  20. 3) Modifica della materia di un docente
  21. 4) Elenco di tutti i docenti
  22. 5) Elenco dei docenti per materia
  23.  
  24. 6) Esci""")
  25.  
  26. sc=-1
  27. while (sc<1) or (sc>6):
  28. try:
  29. sc=int(input())
  30. except:
  31. sc=-1
  32. if (sc<1) or (sc>6):
  33. print("Errore! Devi inserire un numero tra 1 e 6")
  34.  
  35. if sc==1:
  36. if (len(doc))<51:
  37. nom=input("Inserisci il nome del docente: ")
  38. cogn=input("Inserisci il cognome del docente: ")
  39. c=-1
  40. while (c<1) or (c>99999):
  41. try:
  42. c=int(input("Inserisci il codice numerico del docente: "))
  43. except:
  44. c=-1
  45. if (c<1) or (c>99999):
  46. print("Errore! Devi inserire un numero")
  47. mat=''
  48. doc.append("c")
  49. doc[cont]=Docenti(nom,cogn,c,mat)
  50. cont=cont+1
  51. print("\nDocente aggiunto correttamente!")
  52. else:
  53. print("\nNon puoi inserire più di 50 docenti")
  54.  
  55. if sc==2:
  56. c=0
  57. try:
  58. ss=doc[0]
  59. c=1
  60. except:
  61. print("Devi prima inserire almeno un docente!")
  62. if c==1:
  63. tit=input("Inserisci il nome docente a cui vuoi assegnare la materia: ")
  64. tit1=input("Inserisci il cognome del docente a cui vuoi assegnare la materia: ")
  65. i=0
  66. save=-1
  67. for i in range(len(doc)):
  68. if (tit.lower() in doc[i].nome):
  69. if (tit1.lower() in doc[i].cognome):
  70. save=i
  71. break
  72. if save==-1:
  73. print("Docente non trovato!")
  74. else:
  75. if doc[save].materia!='':
  76. print("Hai già assegnato una materia a questo utente!")
  77. else:
  78. print("Inserisci la materia che vuoi assegnare a ",doc[i].nome,doc[i].cognome)
  79. mat=input()
  80. doc[save].asmat(mat)
  81. print("Materia assegnata correttamente")
  82. if sc==3:
  83. c=0
  84. try:
  85. ss=doc[0]
  86. c=1
  87. except:
  88. print("Devi prima inserire almeno un docente!")
  89. if c==1:
  90. tit=input("Inserisci il nome docente a cui vuoi modificare la materia: ")
  91. tit1=input("Inserisci il cognome del docente a cui vuoi modificare la materia: ")
  92. i=0
  93. save=-1
  94. for i in range(len(doc)):
  95. if (tit.lower() in doc[i].nome):
  96. if (tit1.lower() in doc[i].cognome):
  97. save=i
  98. break
  99. if save==-1:
  100. print("Docente non trovato!")
  101. else:
  102. if doc[save].materia=='':
  103. print("Non hai ancora assegnato una materia a questo docente!")
  104. else:
  105. print("Inserisci la materia che vuoi assegnare a ",doc[i].nome,doc[i].cognome)
  106. mat=input()
  107. doc[save].asmat(mat)
  108. print("Materia modificata correttamente")
  109. if sc==4:
  110. c=0
  111. try:
  112. ss=doc[0]
  113. c=1
  114. except:
  115. print("Devi prima inserire almeno un docente!")
  116. if c==1:
  117. print("\n")
  118. i=0
  119. for i in range(len(doc)):
  120. print(doc[i].nome,doc[i].cognome,doc[i].codice)
  121. if sc==5:
  122. c=0
  123. try:
  124. ss=doc[0]
  125. c=1
  126. except:
  127. print("Devi prima inserire almeno un docente!")
  128. if c==1:
  129. i=0
  130. test=[]
  131. for i in range(len(doc)):
  132. if (doc[i].materia in test)==False:
  133. test.append(doc[i].materia)
  134. print(test)
  135. i=0
  136. j=0
  137. for i in range(len(test)):
  138. j=0
  139. if test[i]=='':
  140. print("\nSenza Materia:")
  141. else:
  142. print("\n",test[i],":")
  143. for j in range(len(doc)):
  144. if doc[j].materia==test[i]:
  145. print(doc[j].nome,doc[j].cognome)
  146. if sc==6:
  147. break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement