adatok = [] with open('meresek.txt', 'r') as forrasfajl: for sor in forrasfajl: sor = sor.strip().split() sor = [sor[0]] + list(map(int, sor[1:])) sor = [ sor[0], 3600*sor[1]+60*sor[2]+sor[3]+sor[4]/1000, 3600*sor[5]+60*sor[6]+sor[7]+sor[8]/1000, 10/(((3600*sor[5]+60*sor[6]+sor[7]+sor[8]/1000) - (3600*sor[1]+60*sor[2]+sor[3]+sor[4]/1000))/3600) ] adatok.append(sor) # 2. feladat print(f'\n2. feladat\nA mérés során {len(adatok)} jármű adatait rögzítették.') # 3. feladat athaladt = 0 for adat in adatok: if adat[2] < 9*3600: athaladt += 1 print(f'\n3. feladat\n9 óra előtt {athaladt} jármű haladt el a végponti mérőnél.') # 4. feladat idopont = '8 20' # input('Adjon meg egy óra és perc értéket! ') idopont = list(map(int,idopont.split())) kezdopont = 0 for adat in adatok: if idopont[0]*3600 + idopont[1]*60 < adat[1] < idopont[0]*3600 + (idopont[1] + 1) * 60: kezdopont += 1 szakaszon = 0 for adat in adatok: if ( adat[1] < idopont[0]*3600 + idopont[1]*60 < adat[2] ) or (adat[1] < idopont[0]*3600 + idopont[1]*60 and idopont[0]*3600 +(idopont[1] + 1 )*60 < adat[2] ) or ( adat[1] < idopont[0]*3600 + (idopont[1] + 1 )*60 < adat[2] ): szakaszon += 1 print(f'\n4. feladat\na. A kezdeti méréspontnál elhaladt járművek száma: {kezdopont}') print(f'b. A forgalomsűrűség: {szakaszon/10}') # 5. feladat legnagyobb = 0 lehagyott = 0 for adat in adatok: if adat[-1] > legnagyobb: legnagyobb = adat[-1] rendszam = adat[0] belepett = adat[1] kilepett = adat[2] for adat in adatok: if adat[1] < belepett and adat[2] > kilepett: lehagyott += 1 print(f'\n5. feladat\nA legnagyobb sebességgel haladó jármű\nrendszáma: {rendszam}\nátlagsebessége: {int(legnagyobb)} km/h\náltal lehagyott járművek száma: {lehagyott}') # 6. feladat gyorshajto = 0 for adat in adatok: if adat[-1] > 90: gyorshajto += 1 print(f'A járművek {round(100*gyorshajto/len(adatok),2)}%-a volt gyorshajtó.') # 7. feladat with open('buntetes.txt', 'w') as celfajl: for adat in adatok: if 104 < adat[-1] <= 121: print(f'{adat[0]} {int(adat[-1])} 30 000 Ft', file=celfajl) if 121 < adat[-1] <= 136: print(f'{adat[0]} {int(adat[-1])} 45 000 Ft', file=celfajl) if 136 < adat[-1] <= 151: print(f'{adat[0]} {int(adat[-1])} 60 000 Ft', file=celfajl) if 151 < adat[-1]: print(f'{adat[0]} {int(adat[-1])} 200 000 Ft', file=celfajl)