Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrBlaise/7022787 to your computer and use it in GitHub Desktop.
Save MrBlaise/7022787 to your computer and use it in GitHub Desktop.
Emelt informatika érettségi 2009 október - Útépités / Solution for Advanced Computer Science Matura 2009 october (Hungary)
#!/usr/bin/env python3
# Rostás Balázs - Emelt informatika érettségi 2009 október - Útépités
def masodperc(lista):
return (lista[0]*3600) + (lista[1]*60) + (lista[2])
def ora(masodperc):
ora = masodperc // 3600
perc = (masodperc - ora * 3600) // 60
masodperc = masodperc - ora * 3600 - perc * 60
return [ora,perc,masodperc]
# 1. feladat
fajlBe = open("forgalom.txt", "r")
autoSzam = fajlBe.readline()
forgalomAdat = [sor.strip().split() for sor in fajlBe]
forgalomAdat = [ list(int(elem) for elem in lista[:4]) + list(lista[4]) for lista in forgalomAdat ]
"""
forgalomAdat = []
for sor in fajlBe:
lista = sor.strip().split()
forgalomAdat.append([int(lista[1]),int(lista[2]),int(lista[3]), lista[4]])
"""
fajlBe.close()
print("1. feladat - forgalom.txt beolvasása - KÉSZ!")
# 2. feladat
n = int(input("\n2. feladat - Kérem adja meg a jármű sorszámát: "))
if forgalomAdat[n-1][4] == "F":
print('Az',n,'.jármű a Alsó város felé haladt.')
else:
print('Az',n,'.jármű az Felső város felé haladt.')
# 3. feladat
print("\n3. feladat:")
utolso = []
for i in range(len(forgalomAdat)-1, -1, -1):
if len(utolso) == 2:
break
if forgalomAdat[i][4] == "A":
utolso.append(forgalomAdat[i])
kul = masodperc(utolso[0])-masodperc(utolso[1])
print("Az utolsó és az előtte lévő autó "+str(kul)+" másodperc különbséggel érte el az útszakasz kezdetét.")
# 4. feladat
print("\n4. feladat:")
oraJarmu = {}
fJarmu = 0
aJarmu = 0
for elem in forgalomAdat:
oraJarmu[elem[0]] = []
for elem in forgalomAdat:
oraJarmu[elem[0]].append(elem)
for kulcs in oraJarmu.keys():
for lista in oraJarmu[kulcs]:
if lista[4] == "A":
aJarmu += 1
else:
fJarmu += 1
oraJarmu[kulcs] = [aJarmu, fJarmu]
fJarmu = 0
aJarmu = 0
for kulcs in oraJarmu.keys():
print("A(z) ", kulcs, ". órában ", oraJarmu[kulcs][0], " jármű érkezett Alsó város felől, míg ", oraJarmu[kulcs][1], " Felső város felől.", sep="")
# 5. feladat
print("\n5. feladat:")
gyorsRendezett = sorted(forgalomAdat, key = lambda x: x[3])[:10]
for elem in gyorsRendezett:
if elem[4] == "F":
print("Útszakasra belépés: ", elem[0], ":", elem[1], ":", elem[2], " Felső felől érkezett, {0:.1f} m/s sebességgel.".format(1000/elem[3]), sep="")
else:
print("Útszakasra belépés: ", elem[0], ":", elem[1], ":", elem[2], " Alsó felől érkezett, {0:.1f} m/s sebességgel.".format(1000/elem[3]), sep="")
# 6. feladat
fajlKi = open("also.txt", "w")
towardsA = []
for elem in forgalomAdat:
if elem[4] == "F":
elem.append(masodperc(elem)+elem[3])
towardsA.append(elem)
for i, elem in enumerate(towardsA):
if i < len(towardsA) - 1:
if towardsA[i+1][5] < elem[5]:
towardsA[i+1][5] = elem[5]
for elem in towardsA:
ido = ora(elem[5])
print(ido[0], ido[1], ido[2], file=fajlKi)
fajlKi.close()
print("\n6. feladat - also.txt létrehozása - KÉSZ!")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment