-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlavoratoreP.iva.py
More file actions
46 lines (32 loc) · 1.44 KB
/
lavoratoreP.iva.py
File metadata and controls
46 lines (32 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from persona import Lavoratore
class LavoratorePiva(Lavoratore):
def __init__(self,nome, cognome, data_nascita, sesso, peso, idbadge, mansione,tariffa_gg, ore_lavorate):
super().__init__(nome, cognome, data_nascita, sesso, peso, idbadge, mansione, tariffa_gg, ore_lavorate)
self._tariffa_gg=tariffa_gg
self._ore_lavorate=ore_lavorate
def __str__(self):
return super().__str__() + ' ' + self._tariffa_gg + ' ' + self._ore_lavorate
def __eq__(self, other):
if isinstance(other, LavoratorePiva):
if super().__eq__(other) and other._tariffa_gg == self._tariffa_gg and other._ore_lavorate == self._ore_lavorate:
return True
return False
def get_tariffa_gg (self):
return self.get_tariffa_gg
def set_tariffa_gg (self,x):
if x<=0:
raise ('Tariffa non valida!')
else:
self._tariffa_gg=x
def get_ore_lavorate(self):
return self.get_ore_lavorate
def set_ore_lavorate(self,x):
if x<0:
raise ('Ore lavorate non può essere negativo!')
elif x==0:
raise ('Nessuna ora di lavoro')
else:
self._ore_lavorate=x
def calcola_stipendio(self):
stipendio= sum(map(lambda x: x[0] + x[1], self._tariffa_gg.values(),self._ore_lavorate.values()))
return stipendio