Files
2025_12_15_python/dzien_04/przyklady/klasa_osoba_04.py

59 lines
1.6 KiB
Python

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"):
self.name = name
self.sex = sex
self.age = age
self.miesieczny_przychod = None
print(f"Start obiektu: {id(self)} - plec: {self.sex} wiek: {self.age}")
def __del__(self):
print (f"Bye, bye: {id(self)}....")
def __str__(self):
return f"Oto osoba - {self.name} "
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")
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)
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()}")