"""
2022. október: Jeladó
@author Klemand66
"""

from math import *


print("\n1. feladat\n")

betxt = open("jel.txt")

jelek=[]
for sor in betxt:
    d=sor.strip().split()
    t=int(d[0])*3600+int(d[1])*60+int(d[2])
    x, y = int(d[3]), int(d[4])
    jelek.append([t,x,y])
      
betxt.close()
print("A beolvasás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

ssz=int(input(f'Adja meg a jel sorszámát (1 <= sorszám <= {len(jelek)}): ').strip())
print(f'x={jelek[ssz-1][1]} y={jelek[ssz-1][2]}')



print("\n3. feladat\n")

def eltelt(t1,t2):
    return t2-t1

print(f'Az elkészített függvény:\n\n\
def eltelt(t1,t2):\n\
    return t2-t1')



print("\n4. feladat\n")

def konvertalo(t):
    mp=str(t%60)
    t=t//60
    perc=str(t%60)
    ora=str(t//60)
    return [ora,perc,mp]

print(f'Az időtartam: {":".join(konvertalo(eltelt(jelek[0][0],jelek[-1][0])))}')



print("\n5. feladat\n")

xmin=min(jelek, key=lambda j: j[1])[1]
# A min() függvény a listát adja meg, annak a megfelelő eleme kell.
xmax=max(jelek, key=lambda j: j[1])[1]
ymin=min(jelek, key=lambda j: j[2])[2]
ymax=max(jelek, key=lambda j: j[2])[2]

print(f'Bal alsó: {xmin} {ymin}, jobb felső: {xmax} {ymax}')



print("\n6. feladat\n")

elmozdulasok=list(map(lambda i: \
    sqrt((jelek[i][1]-jelek[i+1][1])**2 + (jelek[i][2]-jelek[i+1][2])**2), range(len(jelek)-1)))
print(f'Elmozdulás: {sum(elmozdulasok):.3f} egység')



print("\n7. feladat\n")

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

for i in range(1,len(jelek)):
    idokul=eltelt(jelek[i-1][0],jelek[i][0])
    idokim=idokul//300 -1
    if idokul%300>0:
        idokim+=1
    koordkul=max(abs(jelek[i][1]-jelek[i-1][1]),abs(jelek[i][2]-jelek[i-1][2]))
    koordkim=koordkul//10 -1
    if koordkul%10>0:
        koordkim+=1
    if idokim + koordkim >0:
        aktido=" ".join(konvertalo(jelek[i][0]))
        if idokim>=koordkim:
            kitxt.write(f'{aktido} időeltérés {idokim}\n')
        else:
            kitxt.write(f'{aktido} koordináta-eltérés {koordkim}\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!")
