Commit d756eb5c by Patryk Czarnik

Pracownik - godziny i nadgodziny

parent 6f637835
...@@ -6,8 +6,8 @@ godzinowej. Jeżeli pracownik będzie pracował więcej niż 8 godzin ...@@ -6,8 +6,8 @@ godzinowej. Jeżeli pracownik będzie pracował więcej niż 8 godzin
jako nadgodziny (z podwójną stawką godzinową). jako nadgodziny (z podwójną stawką godzinową).
Przykład użycia: Przykład użycia:
>>> p = Pracownik('Jan', 'Nowak', 100.0) >>> p = Pracownik('Jan', 'Nowak', 100.0)
>>> p.praca(5) >>> p.praca(6)
>>> p.praca(5) >>> p.praca(4)
>>> p.wyplata() >>> p.wyplata()
1000.0 1000.0
>>> p.wyplata() >>> p.wyplata()
...@@ -23,16 +23,48 @@ class Pracownik: ...@@ -23,16 +23,48 @@ class Pracownik:
self.nazwisko = nazwisko self.nazwisko = nazwisko
self.stawka = stawka self.stawka = stawka
self.suma_godzin = 0 self.suma_godzin = 0
self.suma_nadgodzin = 0
def praca(self, godziny): def praca(self, godziny):
self.suma_godzin += godziny if godziny > 8:
self.suma_godzin += 8
self.suma_nadgodzin += godziny - 8
else:
self.suma_godzin += godziny
def wyplata(self): def wyplata(self):
return self.suma_godzin * self.stawka return self.suma_godzin * self.stawka + self.suma_nadgodzin * self.stawka * 2
p = Pracownik('Jan', 'Nowak', 100.0)
p.praca(6) def test_jedna_praca():
p.praca(4) p = Pracownik('Jan', 'Nowak', 100.0)
wynik = p.wyplata() p.praca(6)
print(wynik) wynik = p.wyplata()
assert wynik == 600
def test_suma_prac():
p = Pracownik('Jan', 'Nowak', 100.0)
p.praca(6)
p.praca(4)
wynik = p.wyplata()
assert wynik == 1000
def test_nadgodziny():
p = Pracownik('Jan', 'Nowak', 100.0)
p.praca(10)
p.praca(5)
wynik = p.wyplata()
assert wynik == 1700
def main():
p = Pracownik('Jan', 'Nowak', 100.0)
p.praca(6)
p.praca(4)
wynik = p.wyplata()
print(wynik)
if __name__ == '__main__':
main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment