"""
2019. október: eUtazás
@author Klemand66
"""


print("\n1. feladat\n")

betxt = open("utasadat.txt")

utasok=[]
for sor in betxt:
    darsor=sor.strip().split()
    megallo=int(darsor[0])
    dat=darsor[1][:8]
    az=darsor[2]
    tip=darsor[3]
    erv=darsor[4]
    utasok.append([megallo,dat,az,tip,erv])    
    
betxt.close()
print("A beolvasás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

print(f'A buszra {len(utasok)} utas akart felszállni.')



print("\n3. feladat\n")

ervenytelenek=list(filter(lambda u: (u[3]=="JGY" and u[4]<"1") or (u[3]!="JGY" and u[4]<u[1]) ,utasok))

print(f'A buszra {len(ervenytelenek)} utas nem szállhatott fel.')



print("\n4. feladat\n")

felszallok=[]
for i in range(30):
    felszallok.append(len(list(filter(lambda u: u[0]==i ,utasok))))
    
legtobben=max(felszallok)
maxmegallo=felszallok.index(legtobben)

print(f'A legtöbb utas ({legtobben} fő) a {maxmegallo}. megállóban próbált felszállni.')



print("\n5. feladat\n")

ervenyesek=list(filter(lambda u: (u[3]=="JGY" and u[4]>"0") or (u[3]!="JGY" and u[4]>=u[1]) ,utasok))
ingyenesek=list(filter(lambda u: u[3]=="NYP" or u[3]=="RVS" or u[3]=="GYK",ervenyesek))
kedvesek=list(filter(lambda u: u[3]=="TAB" or u[3]=="NYB" ,ervenyesek))

print(f'Ingyenesen utazók száma: {len(ingyenesek)} fő')
print(f'Kedvezményesen utazók száma: {len(kedvesek)} fő')



print("\n6. feladat\n")

def napokszama(e1,h1,n1,e2,h2,n2):
    h1=(h1+9)%12
    e1=e1-h1//10
    d1=365*e1 + e1//4 - e1//100 + e1//400 + (h1*306+5)//10 + n1 - 1
    h2=(h2+9)%12
    e2=e2-h2//10
    d2=365*e2 + e2//4 - e2//100 + e2//400 + (h2*306+5)//10 + n2 - 1
    return d2-d1

print(f'Az elkészített függvény:\n\n\
def napokszama(e1,h1,n1,e2,h2,n2):\n\
    h1=(h1+9)%12\n\
    e1=e1-h1//10\n\
    d1=365*e1 + e1//4 - e1//100 + e1//400 + (h1*306+5)//10 + n1 - 1\n\
    h2=(h2+9)%12\n\
    e2=e2-h2//10\n\
    d2=365*e2 + e2//4 - e2//100 + e2//400 + (h2*306+5)//10 + n2 - 1\n\
    return d2-d1')



print("\n7. feladat\n")

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

berletesek=list(filter(lambda u: u[3]!="JGY" ,utasok))

for b in berletesek:
    e1, h1, n1 = int(b[1][:4]), int(b[1][4:6]), int(b[1][6:8])
    e2, h2, n2 = int(b[4][:4]), int(b[4][4:6]), int(b[4][6:8])
    if napokszama(e1,h1,n1,e2,h2,n2)<=3:
        kitxt.write(f'{b[2]} {e2:04}-{h2:02}-{n2:02}\n')

kitxt.close()
print("A kiíratás és a szövegfájl lezárása sikeresen befejeződött.")


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