adatok = [] with open('jel.txt', 'r') as forrasfajl: for sor in forrasfajl: sor = sor.strip().split() sor = [int(elem) for elem in sor] adatok.append(sor) # 2. feladat sorszam = 3 # int(input('Adja meg egy jel sorszámát: ')) print(f'\n2. feladat\nx={adatok[sorszam-1][-2]} y={adatok[sorszam-1][-1]}') # 3. feladat def eltelt(lista_1, lista_2): ido_1 = lista_1[0]*3600 + lista_1[1]*60 + lista_1[2] ido_2 = lista_2[0]*3600 + lista_2[1]*60 + lista_2[2] return abs(ido_1 - ido_2) # 4. feladat masodperc = eltelt(adatok[0][0:3], adatok[-1][0:3]) ido = str(masodperc//3600) + ':' + str(masodperc%3600//60) + ':' + str(masodperc%60) print(f'\n4. feladat\nIdőtartam: {ido}') # 5. feladat x_max = [ adat for adat in sorted(adatok, key=lambda adat:adat[-2]) ][-1][-2] x_min = [ adat for adat in sorted(adatok, key=lambda adat:adat[-2]) ][0][-2] y_max = [ adat for adat in sorted(adatok, key=lambda adat:adat[-1]) ][-1][-1] y_min = [ adat for adat in sorted(adatok, key=lambda adat:adat[-1]) ][0][-1] print(f'\n5. feladat\nBal alsó: {x_min} {y_min}, Jobb felső: {x_max} {y_max}') # 6. feladat from math import sqrt as gyok elmozdulas = 0 for index, adat in enumerate(adatok): if index > 0: elmozdulas += gyok((adat[-2]-adatok[index-1][-2])**2 + (adat[-1]-adatok[index-1][-1])**2) print(f'\n6. feladat\nElmozdulás: {round(elmozdulas,3)} egység.') # 7. feladat with open('kimaradt.txt', 'w', encoding='utf8') as celfajl: for index, adat in enumerate(adatok): idoertek = 0 koordinataertek_x = 0 koordinataertek_y = 0 koordinataertek = 0 if index > 0: if eltelt(adat[0:3], adatok[index-1][0:3]) > 300: if eltelt(adat[0:3], adatok[index-1][0:3])%300 == 0: idoertek = eltelt(adat[0:3], adatok[index-1][0:3])//300-1 else: idoertek = eltelt(adat[0:3], adatok[index-1][0:3])//300 if abs(adat[-2]-adatok[index-1][-2]) > 10 or abs(adat[-1]-adatok[index-1][-1]) > 10: if abs(adat[-2]-adatok[index-1][-2])%10 == 0: koordinataertek_x = abs(adat[-2]-adatok[index-1][-2])//10-1 else: koordinataertek_x = abs(adat[-2]-adatok[index-1][-2])//10 if abs(adat[-1]-adatok[index-1][-1])%10 == 0: koordinataertek_y = abs(adat[-1]-adatok[index-1][-1])//10-1 else: koordinataertek_y = abs(adat[-1]-adatok[index-1][-1])//10 koordinataertek = max(koordinataertek_x, koordinataertek_y) if (idoertek or koordinataertek): if idoertek > koordinataertek: print(*adat[0:3],'Időeltérés:',idoertek, file=celfajl) else: print(*adat[0:3],'Koordináta eltérés:',koordinataertek, file=celfajl)