plan na czwartek

This commit is contained in:
2025-12-17 21:54:38 +01:00
parent 168c5d1c32
commit f2754cba35
22 changed files with 611 additions and 1 deletions

View File

@@ -0,0 +1,88 @@
from random import choice, randint
nazwiska = [
"Sylwia Ciuruś",
"Marcelina Janc",
"Dorota Leśny",
"Hubert Beker",
"Albert Budzeń",
"Bruno Kargol",
"Olaf Juroszek",
]
class Osoba:
def __init__(self, name="XXX", age=30, sex="M", status = "Osoba"):
self.name = name
self.sex = sex
self.age = age
self.miesieczny_przychod = None
self.status = status
# print(f"Start obiektu: {id(self)} - plec: {self.sex} wiek: {self.age}")
def __str__(self):
return f"Oto osoba - {self.name} - {self.status=} "
def roczne_dochody(self):
if self.miesieczny_przychod is None:
return -1
return 12*self.miesieczny_przychod
def miesieczny_przychod_wpisz(self,wartosc):
if self.miesieczny_przychod is None:
self.miesieczny_przychod = wartosc
print(f"Zmieniam na {wartosc}")
else:
print("POzostawiam stare")
class Dyrektor(Osoba):
def __init__(self,name="Dyrektorskie nazwisko", age=40, sex="M"):
print("Uruchamiam init dyrektora")
super().__init__(name, age=age, sex=sex, status="Dyrektor")
def miesieczny_przychod_wpisz(self, wartosc):
self.miesieczny_przychod = wartosc *2
print(f"Zmieniam podwójnie dla dyrektora na {self.miesieczny_przychod}")
def roczne_dochody(self):
if self.miesieczny_przychod is None:
return -2
return 13*self.miesieczny_przychod
# zadanie - zdefiniować klasę Prektykant z rocznym dochodem 3 * miesięczny / -3
class Praktykant(Osoba):
nowy_status = "Praktykant"
def roczne_dochody(self):
if self.miesieczny_przychod is None:
return -3
return 3 * self.miesieczny_przychod
lista_osob = []
for nr in range(10):
wiek = randint(20,50)
plec = choice(["M","K","X"])
nazwisko = choice(nazwiska)
osoba = Osoba(nazwisko, sex=plec, age=wiek)
lista_osob.append(osoba)
# pojedynczy dyrektor
dyro = Dyrektor()
lista_osob.append(dyro)
praktyk = Praktykant("Adam praktykant", age=30, sex="X")
lista_osob.append(praktyk)
print(lista_osob)
print("----------------------")
for obiekt_osoby in lista_osob:
mc = randint(2000,5000)
print(obiekt_osoby)
print(f"Roczny dochód wynosi przed: {obiekt_osoby.roczne_dochody()}")
obiekt_osoby.miesieczny_przychod_wpisz(200)
obiekt_osoby.miesieczny_przychod_wpisz(300)
# obiekt_osoby.miesieczny_przychod = "zero" -tak nie robimy!
print(f"Roczny dochód wynosi po : {obiekt_osoby.roczne_dochody()}")