"""
2017. május idegennyelvű: Fürdő
@author Klemand66
"""

print("\n1. feladat\n")

betxt = open("furdoadat.txt")

mozgasok=[]

for sor in betxt:
    darsor=sor.strip().split()
    adatsor=list(map(int ,darsor))
    # 0: az 1: részleg 2: be(0)/ki(1) 3: óra 4:perc 5 mp
    mozgasok.append(adatsor)
    
betxt.close()
print("A beolvasás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

oltki=list(filter(lambda mozgas: mozgas[1]==0 and mozgas[2]==1 ,mozgasok))

print(f'Az első vendég {oltki[0][3]}:{oltki[0][4]}:{oltki[0][5]}-kor lépett ki az öltözőből.')
print(f'Az utolsó vendég {oltki[-1][3]}:{oltki[-1][4]}:{oltki[-1][5]}-kor lépett ki az öltözőből.')



print("\n3. feladat\n")

azlista, azdblista = [], []

for m in mozgasok:
    if m[0] in azlista:
        aktindex=azlista.index(m[0])
        azdblista[aktindex]+=1
    else:
        azlista.append(m[0])
        azdblista.append(1)

print(f'A fürdőben {azdblista.count(4)} vendég járt csak egy részlegben.')
                       


print("\n4. feladat\n")

def konvertalo(t):
    mp=t%60
    t=t//60
    perc=t%60
    ora=t//60
    return f'{ora:2}:{perc:2}:{mp:2}'

idolista = []

for az in azlista:
    am=list(filter(lambda m: m[0]==az ,mozgasok))
    kezd=am[0][3]*3600+am[0][4]*60+am[0][5]
    vege=am[-1][3]*3600+am[-1][4]*60+am[-1][5]
    idolista.append(vege - kezd)

maxido=max(idolista)
maxindex=idolista.index(maxido)

print("A legtöbb időt eltöltő vendég:")
print(f'{azlista[maxindex]}. vendég {konvertalo(maxido)}')



print("\n5. feladat\n")

def sav(erko):
    bennevan=list(map(lambda i: ohat[i-1]<=erko and erko<ohat[i] ,range(1,len(ohat))))
    return bennevan.index(True)

ohat=[6,9,16,20]
dbk=[0,0,0]

for az in azlista:
    am=list(filter(lambda m: m[0]==az ,mozgasok))
    erko=am[0][3]
    dbk[sav(erko)]+=1
    
for i in range(len(dbk)):
    print(f'{ohat[i]}-{ohat[i+1]} óra között {dbk[i]} vendég')
    


print("\n6. feladat\n")

kitxt = open("szauna.txt","w")

for az in azlista:
    szm=list(filter(lambda m: m[0]==az and m[1]==2 ,mozgasok))
    szido=0
    for i in range(len(szm)):
        aktido=szm[i][3]*3600+szm[i][4]*60+szm[i][5]
        if i%2==1:
            szido+=aktido
        else:
            szido-=aktido    
    if szido>0:
        kitxt.write(f'{az} {konvertalo(szido)}\n')
 
kitxt.close()
print("A kiíratás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n7. feladat\n")

rkodok=[0,1,2,3,4]
reszlegek=["Öltöző","Uszoda","Szaunák","Gyógyvizes medencék","Strand"]
rdbk=[0,0,0,0,0]

for az in azlista:
    am=list(filter(lambda m: m[0]==az ,mozgasok))
    rlista=[]
    for i in range(len(am)):
        if am[i][1] not in rlista:
            rlista.append(am[i][1])
    for r in rlista:
        aktindex=rkodok.index(r)
        rdbk[aktindex]+=1

for i in range(1,len(reszlegek)):
    print(f'{reszlegek[i]}: {rdbk[i]}')
    
print(f'\n(Ellenőrzésképpen: {reszlegek[0]}: {rdbk[0]})')

input("\nA befejezéshez nyomd meg az ENTER billentyűt!")
