· 7 years ago · Oct 12, 2018, 12:40 PM
1# class kalkulator:
2
3# def __init__ (self, pierwsza, druga):
4# self.pierwsza = pierwsza
5# self.druga = druga
6
7# def dodawanie(self):
8# print(pierwsza + druga)
9
10# def odejmowanie(self):
11# print(pierwsza - druga)
12
13# def mnozenie(self):
14# print(pierwsza * druga)
15
16# def dzielenie(self):
17# print(pierwsza / druga)
18
19# pierwsza = int(input("Wpisz pierwszÄ… liczbÄ™ "))
20# druga = int(input("Wpisz drugÄ… liczbÄ™ "))
21# wybor = input("Które działanie wykonać? ")
22
23# działanie = kalkulator(pierwsza, druga)
24
25# if wybor == 'dodawanie':
26# działanie.dodawanie()
27# elif wybor == 'odejmowanie':
28# działanie.odejmowanie()
29# elif wybor == 'mnozenie':
30# działanie.mnozenie()
31# elif wybor == 'dzielenie':
32# działanie.dzielenie()
33
34# from itertools import permutations
35
36# for perm in permutations(range(1, 10), 9):
37# a, b, c, d, e, f, g, h, i = perm
38# if (a * 10 + b + c * 10 + d + e * 10 + f == g * 100 + h * 10 + i):
39# print(f" OK -> {a}{b} + {c}{d} + {e}{f} = {g}{h}{i}")
40
41
42
43class Pracownicy:
44
45 proc_podwy = 1.04
46 licz_prac = 0
47
48 def __init__ (self, imie, nazw, placa):
49 self.imie = imie
50 self.nazw = nazw
51 self.placa = placa
52 self.email = imie + '.' + nazw + '@gmail.com'
53
54 Pracownicy.licz_prac += 1
55
56 def pelne(self):
57 return '{} {} {} {}'.format(self.imie, self.nazw, self.placa, self.email)
58
59 def podwyzka(self):
60 self.placa = int(self.placa * self.proc_podwy)
61
62 def __repr__(self):
63 return "Pracownik ('{}' ,'{}', {})".format(self.imie, self.nazw, self.placa)
64
65 def __str__(self):
66 return '{} - {} - {}'.format(self.imie, self.nazw, self.email)
67
68
69 @classmethod
70 def ust_podwy(cls, pdw):
71 cls.proc_podwy = pdw
72
73class Brygadzisci(Pracownicy):
74 proc_podwy = 1.10
75 def __init__(self, imie, nazw, placa, podwladni=None):
76 super().__init__(imie, nazw, placa)
77 if podwladni is None:
78 self.podwladni = []
79 else:
80 self.podwladni = podwladni
81 def dod_podw(self, podw):
82 if podw not in self.podwladni:
83 print(' ')
84 self.podwladni.append(podw)
85 print(' ')
86
87 def odj_podw(self, podw):
88 if podw in self.podwladni:
89 print(' ')
90 self.podwladni.remove(podw)
91 print(' ')
92
93 def spis_prac(self):
94 for podw in self.podwladni:
95 print(self.pelne())
96 print('-->', podw.pelne())
97
98
99
100prac_1 = Pracownicy('Kuba', 'Kowalski', 24000)
101prac_2 = Pracownicy('Seba', 'Kowalewski', 30000)
102prac_3 = Pracownicy('Dupa', 'Kewalewski', 40000)
103prac_4 = Pracownicy('Michał', 'Kawalewski', 35000)
104prac_5 = Pracownicy('Piter', 'Kowalówski', 3800101)
105
106bryg_1 = Brygadzisci('Andrzej', 'Sienkiewicz', 80000, [prac_1])
107bryg_2 = Brygadzisci('Janek', 'Piewczewicz', 90000, [prac_2])
108bryg_3 = Brygadzisci('Sebastian', 'BÄ…k', 70000, [prac_3, prac_4])
109
110bryg_1.spis_prac()
111bryg_2.spis_prac()
112bryg_3.spis_prac()
113
114bryg_3.odj_podw(prac_3)
115
116bryg_3.spis_prac()
117# dod_podw.bryg_1(prac_1)
118
119print(prac_1)
120print(bryg_1)