22
33
44class LavoratorePiva (Lavoratore ):
5- super ().__init__ (nome , cognome , data_nascita , sesso , peso , idbaige , mansione )
5+ def __init__ (self ,nome , cognome , data_nascita , sesso , peso , idbadge , mansione ,tariffa_gg , ore_lavorate ):
6+ super ().__init__ (nome , cognome , data_nascita , sesso , peso , idbadge , mansione , tariffa_gg , ore_lavorate )
7+ self ._tariffa_gg = tariffa_gg
8+ self ._ore_lavorate = ore_lavorate
9+
10+ def __str__ (self ):
11+ return super ().__str__ () + ' ' + self ._tariffa_gg + ' ' + self ._ore_lavorate
612
13+ def __eq__ (self , other ):
14+ if isinstance (other , LavoratorePiva ):
15+ if super ().__eq__ (other ) and other ._tariffa_gg == self ._tariffa_gg and other ._ore_lavorate == self ._ore_lavorate :
16+ return True
17+ return False
718
8- def stipendio (self ):
9- return tariffa_giornaliera + ore_lavorate
19+ def get_tariffa_gg (self ):
20+ return self .get_tariffa_gg
21+
22+ def set_tariffa_gg (self ,x ):
23+ if x <= 0 :
24+ raise ('Tariffa non valida!' )
25+ else :
26+ self ._tariffa_gg = x
27+
28+ def get_ore_lavorate (self ):
29+ return self .get_ore_lavorate
30+
31+ def set_ore_lavorate (self ,x ):
32+ if x < 0 :
33+ raise ('Ore lavorate non può essere negativo!' )
34+ elif x == 0 :
35+ raise ('Nessuna ora di lavoro' )
36+ else :
37+ self ._ore_lavorate = x
38+
39+
40+
41+ def calcola_stipendio (self ):
42+ stipendio = sum (map (lambda x : x [0 ] + x [1 ], self ._tariffa_gg .values (),self ._ore_lavorate .values ()))
43+ return stipendio
1044
0 commit comments