Please don't answear to this question.
I post this because I want to study and learn for my sectoral exam.
Thank you for your supporting and sorry for taking your time
Answer
class Konyv:
def __init__(self, cim, mufaj, oldalak_szama, ev, ar):
self.cim = cim
self.mufaj = mufaj
self.oldalak_szama = int(oldalak_szama)
self.ev = int(ev)
self.ar = int(ar)
def hossz(self):
if konyv.oldalak_szama < 200:
return "rövid"
elif konyv.oldalak_szama >= 200 and konyv.oldalak_szama <= 600:
return "közép"
elif konyv.oldalak_szama > 600:
return "hosszú"
konyvek = []
with open("konyvek-adatok.txt","r",encoding="utf-8") as fajl:
fajl.readline()
for sor in fajl:
adatok = sor.strip().split(';')
konyv = Konyv(adatok[0], adatok[1], adatok[2], adatok[3], adatok[4] )
konyvek.append(konyv)
print(f"A listában {len(konyvek)} db könyv található!")
bekert_mufaj = input("Írj be egy műfajt: ")
db = 0
ossz_oldal = 0
for konyv in konyvek:
ossz_oldal += konyv.oldalak_szama
if konyv.mufaj == bekert_mufaj:
db += 1
print(f"{db} db könyv tartozik ebbe a műfajba.\nA könyvek összoldalszáma: {ossz_oldal} oldal")
van = False
for konyv in konyvek:
if konyv.ev >= 1600 and konyv.ev <= 1699:
if konyv.mufaj == "színmű":
van = True
if van == True:
print("1600 és 1699 között van színmű műfajban írt könyv.")
else:
print("1600 és 1699 között nincs színmű műfajban írt könyv.")
with open("negyezer-export.txt","w",encoding="utf-8") as fajl:
for konyv in konyvek:
if konyv.ar == 4000:
fajl.write(f"{konyv.cim} ({konyv.hossz()})\n")