adatok = [] with open('jeladas.txt', 'r') as ff: for sor in ff: sor = sor.strip().split('\t') sor = sor[:1] + list(map(int,sor[1:])) adatok.append(sor) # 2. feladat print(f'2. feladat\nAz utolsó jeladás időpontja {adatok[-1][1]}:{adatok[-1][2]}, a jármű rendszáma {adatok[-1][0]}') # 3. feladat print(f'\n3. feladat\nAz első jármű: {adatok[0][0]}') print('Jeladásának időpontjai: ', end=' ') for adat in adatok: if adat[0] == adatok[0][0]: print(f'{adat[1]}:{adat[2]}', end=' ') # 4. feladat print('\n\n4. feladat') ora = int(input('Kérem, adja meg az órát: ')) perc = int(input('Kérem, adja meg a percet: ')) jeladasok = 0 for adat in adatok: if adat[1] == ora and adat[2] == perc: jeladasok += 1 print(f'A jeladások száma: {jeladasok}') # 5. feladat print('\n5. feladat') legnagyobb = 0 for adat in adatok: if adat[-1] > legnagyobb: legnagyobb = adat[-1] print(f'A legnagyobb sebesség km/h: {legnagyobb}') print('Rendszámok: ', end=' ') leggyorsabbak = set() for adat in adatok: if adat[-1] == legnagyobb: leggyorsabbak.add(adat[0]) print(*leggyorsabbak) rendszam = input('Kérem, adja meg a rendszámot: ') mozgas = [] for adat in adatok: if adat[0] == rendszam: mozgas.append([adat[1]*60+adat[2], adat[-1]]) print(mozgas) tavolsag = 0 for index, adat in enumerate(mozgas): if index == 0: print(f'{adat[0]//60}:{adat[0]%60} 0.0 km') if index > 0: t = adat[0] - mozgas[index-1][0] v = mozgas[index-1][1] ut = t/60 * v # s = v * t tavolsag += ut print(f'{adat[0]//60}:{adat[0]%60} {round(tavolsag,1)} km') # 7. feladat def idokereso(rendszam): i = 0 while adatok[i][0] != rendszam: i += 1 j = len(adatok) - 1 while adatok[j][0] != rendszam: j -= 1 return [adatok[i][1], adatok[i][2], adatok[j][1], adatok[j][2]] rendszamok = set() for adat in adatok: rendszamok.add(adat[0]) rendszamonkent = {} for rendszam in rendszamok: rendszamonkent[rendszam] = idokereso(rendszam) with open('ido.txt', 'w') as cf: for k,v in rendszamonkent.items(): print(k,*v, file=cf)