Implementacija klasa Knjižnica
unknown
python
2 months ago
2.3 kB
10
Indexable
class Knjiga: def __init__(self, naziv, autor, godinaIzdanja): self.naziv = naziv self.autor = autor self.godinaIzdanja = godinaIzdanja self.dostupna = True def traziKnjigu(self): return self.dostupna def rezervirajKnjigu(self): if self.dostupna: self.dostupna = False return True return False def vratiKnjigu(self): self.dostupna = True class Clan: def __init__(self, sifraClana, ime): self.sifraClana = sifraClana self.ime = ime self.rokPosudbe = None self.clanarinaVrijedi = True def produziClanarinu(self): self.clanarinaVrijedi = True return "Članarina produžena." class Knjiznicar: def __init__(self, ime, knjiznica): self.ime = ime self.knjiznica = knjiznica def traziKnjigu(self, naziv): for knjiga in self.knjiznica.knjige: if knjiga.naziv == naziv and knjiga.dostupna: return knjiga return None def rezervirajKnjigu(self, knjiga, clan): if knjiga.rezervirajKnjigu(): clan.rokPosudbe = "30 dana" return f"Knjiga '{knjiga.naziv}' posuđena članu {clan.ime}." return "Knjiga nije dostupna." def vratiKnjigu(self, knjiga): knjiga.vratiKnjigu() return f"Knjiga '{knjiga.naziv}' vraćena." class Knjiznica: def __init__(self): self.knjige = [] self.clanovi = [] def dodajKnjigu(self, knjiga): self.knjige.append(knjiga) def dodajClana(self, clan): self.clanovi.append(clan) # Primjer korištenja knjiznica = Knjiznica() knjiga1 = Knjiga("Zločin i kazna", "Fjodor Dostojevski", 1866) knjiga2 = Knjiga("Ana Karenjina", "Lav Tolstoj", 1877) knjiznica.dodajKnjigu(knjiga1) knjiznica.dodajKnjigu(knjiga2) clan1 = Clan("001", "Ivan Horvat") knjiznica.dodajClana(clan1) knjiznicar = Knjiznicar("Marko Marković", knjiznica) # Traženje i posudba knjige knjiga = knjiznicar.traziKnjigu("Zločin i kazna") if knjiga: print(knjiznicar.rezervirajKnjigu(knjiga, clan1)) else: print("Knjiga nije dostupna.")
Editor is loading...
Leave a Comment