@@ -81,10 +81,10 @@ def __init__(self, msg):
8181
8282
8383class Persona (metaclass = ABCMeta ):
84- def __init__ (self ,nome , cognome , data_nascita , sesso , peso ):
84+ def __init__ (self ,nome , cognome , sesso , peso , data_di_nascita ):
8585 self ._nome = nome
8686 self ._cognome = cognome
87- self ._data_nascita = data_nascita
87+ self ._data_nascita = data_di_nascita
8888 self ._sesso = sesso
8989 self ._peso = peso
9090
@@ -233,8 +233,7 @@ def __init__(self, nome: str, cognome: str, sesso: bool, peso: int, data_di_nasc
233233 assert len (e ) == 3
234234 assert isinstance (e [0 ], int ) and isinstance (e [1 ], int ) and isinstance (e [2 ], bool )
235235 assert 18 <= e [1 ] <= 30
236- #assert e[1] != 30 and e[3] is True
237- if e [1 ] != 30 :
236+ if e [1 ] != 30 :
238237 assert e [2 ] is False
239238 assert isinstance (nome , str )
240239 assert isinstance (cognome , str )
@@ -244,14 +243,20 @@ def __init__(self, nome: str, cognome: str, sesso: bool, peso: int, data_di_nasc
244243 assert len (a ) == 2
245244 assert 0 <= a [0 ] <= 100
246245
247- super ().__init__ (nome , cognome ,sesso ,peso ,data_di_nascita )
246+ super ().__init__ (nome , cognome , sesso , peso , data_di_nascita )
248247 self ._matricola = matricola
249248 self ._corso_di_studio = corso_di_studio
250249 self ._alchool = alchool
251250 self ._esami = esami
252251 logger .info (f"Studente { self ._nome } { self ._cognome } , matricola { self ._matricola } , iscritto al corso di studio "
253252 f"{ self ._corso_di_studio } " )
254253
254+ def __init2__ (self , matricola : int , corso_di_studio : str , alchool : list , esami : dict ):
255+ self .matricola = matricola
256+ self .corso_di_studio = corso_di_studio
257+ self .alchool = alchool
258+ self .esami = esami
259+
255260 def __eq__ (self , other ):
256261 """
257262 funziona equal che paragona se due studenti sono uguali usando il numero matricola.
@@ -290,6 +295,12 @@ def __init__(self,nome, cognome, sesso, peso, data_nascita, idbadge, mansione, t
290295 self ._ore_lavorate = ore_lavorate
291296 logger .info ("E' stato inserito un lavoratore con P.iva." )
292297
298+ def __init2__ (self , idbadge , mansione , tariffa_gg , ore_lavorate ):
299+ self .set_idbadge (idbadge )
300+ self .set_mansione (mansione )
301+ self .set_tariffa_gg (tariffa_gg )
302+ self .set_ore_lavorate (ore_lavorate )
303+
293304 def __str__ (self ):
294305 return super ().__str__ () + ' ' + self ._tariffa_gg + ' ' + self ._ore_lavorate
295306
@@ -340,6 +351,12 @@ def __init__(self, nome, cognome, sesso, peso, data_nascita, idbadge, mansione,
340351 self ._livello = livello
341352 logger .info ("E' stato inserito un dipendente." )
342353
354+ def __init2__ (self , idbadge , mansione , livello ):
355+ self .set_idbadge (idbadge )
356+ self .set_mansione (mansione )
357+ self .set_livello (livello )
358+
359+
343360 def __str__ (self ):
344361 return super ().__str__ () + ' ' + self ._livello
345362
@@ -416,14 +433,17 @@ def aumento_a_livello(mansione, livello, aumento):
416433 stipendi [mansione ][livello ] = stipendi [mansione ][livello ] + aumento
417434
418435
419-
420436class Studenteiva (Studente , LavoratorePiva ):
421437 def __init__ (self , nome , cognome , sesso , peso , data_di_nascita , matricola ,
422438 corso_di_studio , alchool , esami , idbadge , mansione , tariffa_gg , ore_lavorate ):
423- Studente .__init__ (self ,nome , cognome , sesso , peso , data_di_nascita , matricola ,
424- corso_di_studio , alchool , esami )
425- LavoratorePiva .__init__ (self ,nome , cognome , sesso , peso , data_di_nascita , idbadge , mansione , tariffa_gg , ore_lavorate )
426-
439+ Persona .__init__ (self , nome , cognome , sesso , peso , data_di_nascita )
440+ Studente .__init2__ (self , matricola , corso_di_studio , alchool , esami )
441+ LavoratorePiva .__init2__ (self , idbadge , mansione , tariffa_gg , ore_lavorate )
427442
428-
429-
443+
444+ class StudenteDip (Studente , Dipendente ):
445+ def __init__ (self , nome , cognome , sesso , peso , data_di_nascita , matricola ,
446+ corso_di_studio , alchool , esami , idbadge , mansione , livello ):
447+ Persona .__init__ (self , nome , cognome , sesso , peso , data_di_nascita )
448+ Studente .__init2__ (self , matricola , corso_di_studio , alchool , esami )
449+ Dipendente .__init2__ (self , idbadge , mansione , livello )
0 commit comments