import datetime
adatok=[]
class Adat():
azon: int
reszlegazon: int
beki: int
idoOra: int
idoPerc:int
idoMp: int
masodpercben: int
def kiir(s):
print(f"{s}.feladat")
def mpbe(ora:int,perc:int,mp:int):
return (ora*3600)+(perc*60)+mp
def feladat1():
kiir(1)
f=open("furdoadat.txt","r",encoding="utf-8")
for x in f:
reszek=x.strip().split()
x=Adat()
x.azon=int(reszek[0])
x.reszlegazon=int(reszek[1])
x.beki=int(reszek[2])
x.idoOra=int(reszek[3])
x.idoPerc=int(reszek[4])
x.idoMp=int(reszek[5])
x.masodpercben=mpbe(x.idoOra,x.idoPerc,x.idoMp)
adatok.append(x)
print("Sikeres beolvasás")
def feladat2():
kiir(2)
min=mpbe(23,59,59)
max=0
for x in adatok:
if x.beki==1 and x.reszlegazon==0:
if x.masodpercben<min:
min=x.masodpercben
if x.masodpercben>max:
max=x.masodpercben
for x in adatok:
if x.masodpercben==min:
print(f"Az első vendég {x.idoOra}:{x.idoPerc}:{x.idoMp}-kor lépett ki az öltözőből.")
if x.masodpercben==max:
print(f"Az utolsó vendég {x.idoOra}:{x.idoPerc}:{x.idoMp}-kor lépett ki az öltözőből.")
def feladat3():
kiir(3)
mennyi=0
d={}
for x in adatok:
if x.azon not in d.keys():
d[x.azon] = 0
for x in adatok:
d[x.azon]+=1
for keys, value in d.items():
if value==4:
mennyi+=1
print(f"A fürdőben {mennyi} vendég járt csak egy részlegen.")
def feladat4():
kiir(4)
temp1=[]
temp2=[]
temp3=[]
for x in adatok:
if x.reszlegazon==0 and x.beki==1:
temp1.append(x.masodpercben)
if x.reszlegazon==0 and x.beki==0:
temp2.append(x.masodpercben)
for i in range(len(temp2)):
temp3.append(str(datetime.timedelta(seconds=(temp2[i]-temp1[i]))))
for x in adatok:
if x.masodpercben==temp1[temp3.index(max(temp3))]:
print(f"A legtöbb időt eltöltő vendég:{x.azon}.vendég {max(temp3)}")
def feladat5():
kiir(5)
hat9=[]
kilenc16=[]
negy20=[]
for x in adatok:
if mpbe(6,0,0)<x.masodpercben<mpbe(8,59,59) and x.reszlegazon==0 and x.beki==1:
if x.azon not in hat9:
hat9.append(x.azon)
if mpbe(9,0,0)<x.masodpercben<mpbe(15,59,59) and x.reszlegazon==0 and x.beki==1:
if x. azon not in kilenc16:
kilenc16.append(x.azon)
if mpbe(16,0,0)<x.masodpercben<mpbe(19,59,59) and x.reszlegazon==0 and x.beki==1:
if x.azon not in negy20:
negy20.append(x.azon)
print(f"6 - 9 óra között {len(hat9)} vendég\n9 - 16 óra között {len(kilenc16)} vendég\n16 - 20 óraközött {len(negy20)} vendég")
def feladat6():
kiir(6)
ki=open("szauna.txt","w",encoding="utf-8")
temp1 = []#kilép
temp2 = []#belép
temp3 = []#eltöltött idő
kicsoda= []
bennttoltottido= []
for x in adatok:
if x.reszlegazon == 2 and x.beki == 1:
temp1.append(x.masodpercben)
if x.reszlegazon == 2 and x.beki == 0:
temp2.append(x.masodpercben)
for i in range(len(temp2)):
temp3.append(str(datetime.timedelta(seconds=(temp1[i] - temp2[i]))))
for x in adatok:
if x.masodpercben in temp1:
kicsoda.append(x.azon)
for x in temp3:
bennttoltottido.append(x)
for i in range(len(bennttoltottido)):
ki.write(str(kicsoda[i])+" "+str(bennttoltottido[i])+"\n")
print("Sikeres kiiratás")
def feladat7():
kiir(7)
uszoda=[]
szauna=[]
gyogyviz=[]
strand=[]
for x in adatok:
if x.reszlegazon==1 and x.azon not in uszoda:
uszoda.append(x.azon)
if x.reszlegazon==2 and x.azon not in szauna:
szauna.append(x.azon)
if x.reszlegazon==3 and x.azon not in gyogyviz:
gyogyviz.append(x.azon)
if x.reszlegazon==4 and x.azon not in strand:
strand.append(x.azon)
print(f"Uszoda: {len(uszoda)}\nSzaunák: {len(szauna)}\nGyógyvizes medencék: {len(gyogyviz)} \nStrand: {len(strand)}")
feladat1()
feladat2()
feladat3()
feladat4()
feladat5()
feladat6()
feladat7()