# Fájlbeolvasás adatok = [] with open('szallit.txt', 'r') as ff: szalaghossz, idoegyseg = list(map(int,ff.readline().strip().split())) for sor in ff: sor = list(map(int,sor.strip().split())) adatok.append(sor) # 2. feladat print('\n2. feladat') adatsor = int(input('Adja meg melyik adatsorra kíváncsi: '))-1 print(f'Honnan: {adatok[adatsor][1]} Hova: {adatok[adatsor][2]}') # 3. feladat def tav(szalaghossz, indulashelye, erkezeshelye): if erkezeshelye > indulashelye: return erkezeshelye - indulashelye else: return szalaghossz - indulashelye + erkezeshelye # 4. feladat leghosszabb = 0 for adat in adatok: if tav(szalaghossz, adat[1], adat[2]) > leghosszabb: leghosszabb = tav(szalaghossz, adat[1], adat[2]) print(f'\n4. feladat\nA legnagyobb távolság: {leghosszabb}') print('A maximális távolságú szállítások sorszáma:', end=' ') for index,adat in enumerate(adatok): if tav(szalaghossz, adat[1], adat[2]) == leghosszabb: print(index+1, end=' ') print() # 5. feladat ossztomeg = 0 for adat in adatok: if adat[2] < adat[1]: ossztomeg += adat[-1] print(f'\n5. feladat\nA kezdőpont előtt elhaladó rekeszek összömege: {ossztomeg}') # 6. feladat szallitott = [] idopont = int(input('Adja meg a kívánt időpontot: ')) for index,adat in enumerate(adatok): fel = adat[0] le = tav(szalaghossz, adat[1], adat[2])*3 + adat[0] if fel < idopont < le: szallitott.append(index+1) print('\n6. feladat\nA szállított rekeszek halmaza:',*szallitott) # 7. feladat helyek = {} for adat in adatok: helyek[adat[1]] = helyek.get(adat[1], 0) + adat[-1] with open('tomeg.txt', 'w') as cf: for k,v in sorted(helyek.items()): if v != 0: print(k,v, file=cf)