"""
2022. május idegennyelvű: Szakaszsebesség-ellenőrzés
@author Klemand66
"""


print("\n1. feladat\n")

betxt = open("meresek.txt")

meresek=[]
for sor in betxt:
    d=sor.strip().split()
    rsz=d[0]
    belepes=int(d[1])*3600000+int(d[2])*60000+int(d[3])*1000+int(d[4])
    kilepes=int(d[5])*3600000+int(d[6])*60000+int(d[7])*1000+int(d[8])
    meresek.append([rsz,belepes,kilepes])
      
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 mérés során {len(meresek)} jármű adatait rögzítették.')



print("\n3. feladat\n")

aktki=9*3600000
elotteki=list(filter(lambda m: m[2]<aktki ,meresek))
print(f'9 óra előtt {len(elotteki)} jármű haladt el a végponti mérőnél.')


print("\n4. feladat\n")

aktperc=input("Adjon meg egy óra és perc értéket (Pl. 8 20): ")
d=aktperc.strip().split()
kezd=int(d[0])*3600000+int(d[1])*60000
vege=kezd+60000

kezdopontnal=list(filter(lambda m: m[1]>=kezd and m[1]<vege ,meresek))
print(f'\ta. A kezdeti méréspontnál elhaladt járművek száma: {len(kezdopontnal)}.')

utszakaszon=list(filter(lambda m: m[2]>=kezd and m[1]<vege ,meresek))
print(f'\tb. A forgalomsűrűség: {len(utszakaszon)/10:.1f} jármű/km.')



print("\n5. feladat\n")

leggyorsabb=min(meresek, key=lambda m: m[2]-m[1])
maxseb=10*3600000/(leggyorsabb[2]-leggyorsabb[1])
lehagyottak=list(filter(lambda m: leggyorsabb[1]>m[1] and leggyorsabb[2]<m[2] ,meresek))

print("A legnagyobb sebességgel haladó jármű")
print(f'\trendszáma: {leggyorsabb[0]}')
print(f'\tátlagsebessége: {int(maxseb)} km/h')
print(f'\táltal lehagyott járművek száma: {len(lehagyottak)}')



print("\n6. feladat\n")

minido=3600000*10/90
gyorshajtok=list(filter(lambda m: m[2]-m[1]<minido ,meresek))
print(f'A járművek {100*len(gyorshajtok)/len(meresek):.2f}%-a volt gyorshajtó.')



print("\n7. feladat\n")

def kiszabo(be,ki):
    seb=int(10*3600000/(ki-be))
    if seb>151:
        return [seb,200000]
    elif seb>136:
        return [seb,60000]
    elif seb>121:
        return [seb,45000]
    elif seb>104:
        return [seb,30000]
    else:
        return 0
    
kitxt = open("buntetes.txt","w")

for gy in gyorshajtok:
    b=kiszabo(gy[1],gy[2])
    if b!=0:
        kitxt.write(f'{gy[0]}  {b[0]} km/h\t{b[1]} Ft\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!")
