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
jako nadgodziny (z podwójną stawką godzinową).
Przykład użycia:
>>> p = Pracownik('Jan', 'Nowak', 100.0)
>>> p.praca(5)
>>> p.praca(5)
>>> p.praca(6)
>>> p.praca(4)
>>> p.wyplata()
1000.0
>>> p.wyplata()
......@@ -23,16 +23,48 @@ class Pracownik:
self.nazwisko = nazwisko
self.stawka = stawka
self.suma_godzin = 0
self.suma_nadgodzin = 0
def praca(self, godziny):
if godziny > 8:
self.suma_godzin += 8
self.suma_nadgodzin += godziny - 8
else:
self.suma_godzin += godziny
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)
p.praca(4)
wynik = p.wyplata()
print(wynik)
def test_jedna_praca():
p = Pracownik('Jan', 'Nowak', 100.0)
p.praca(6)
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