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/7022828 to your computer and use it in GitHub Desktop.
Save MrBlaise/7022828 to your computer and use it in GitHub Desktop.
Emelt informatika érettségi 2012 május - Futár / Solution for Advanced Computer Science Matura 2012 may (Hungary)
#!/usr/bin/env python3
# A legelső sor jelzi a gépnek hol található a python fordító a gépben és melyik verzióját használja. /usr/bin/env python3 env szócska univerzális, minden operációs rendszeren működik!
# A python3 jelzi, hogy ha esetleg több verzió van telepítve akkor a 3-asat használja!
# Rostás Balázs - Emelt informatika érettségi 2012 május - Futár
# Díjkalkuláció függvény létrehozása
def fizetes(km):
if km <= 2:
return(500)
elif km <= 5:
return(700)
elif km <= 10:
return(900)
elif km <= 20:
return(1400)
elif km <= 30:
return(2000)
else:
return("Ekkora távot nem tesz meg a futár egy fuvar alatt!")
# Más megoldás a fizetés kiszámolására
# Ha többsoros megjegyzést szeretnénk létrehozni három aposztrof (''') jelzi a kezdetét és végét
'''
def fizetes(km):
tarifa = {2:500, 5:700, 10:900, 20: 1400, 30:2000}
összeg = 0
for kulcs in sorted(tarifa.keys()):
if km <= kulcs:
összeg = tarifa[kulcs]
return(összeg)
'''
# 1. feladat - tavok.txt beolvasása
tavok_be = open("tavok.txt","r")
utak = []
for sor in tavok_be:
s = sor.split() # split() Minden szót - jelen esetben a számokat - listába rendez egyesével
utak.append ([int(s[0]), int(s[1]), int(s[2])] )
tavok_be.close()
utak.sort()
# 2. feladat - hét legelső útja kilométerben
print("2. feladat: ")
print("A hét legelső útja", utak[0][2], "km hosszú volt.")
# 3. feladat - hét utolsó útja kilométerben
print("\n3. feladat: ")
print("A hét utolsú útja", utak[-1][2], "km hosszú volt.")
# Előkészületek a következő feladatra
fuvar_szam = [0]*8 # Fuvarok száma per nap
tav_per_nap = [0]*8 # Távolságok összege per nap
for ut in utak:
fuvar_szam[ut[0]] += 1
tav_per_nap[ut[0]] += ut[2]
# 4. feladat - hét hányadik napjain nem dolgozott a futár
print("\n4. feladat: ")
print("Szabadnap(ok):", end=' ')
for i in range(1,8):
if fuvar_szam[i] == 0:
print(i, end=' ')
# 5. feladat - melyik nap volt a legtöbb fuva
print("\n\n5. feladat: ")
x = fuvar_szam.index(max(fuvar_szam))
print("A legtőbb fuvar az ",x,". napon volt.", sep='')
# 6. feladat - km tekerés per nap
print("\n6. feladat")
for i in range(1,8):
print(i,". nap: ",tav_per_nap[i], " km", sep="")
# 7. feladat - fizetés kiszámítása a megadott út hossz alapján
print("\n7. feladat")
km = int(input("A fizetés kiszámolásához adja meg a megtett utat km-ben: "))
if fizetes(km) == str(fizetes(km)): # Ez csak szépítés nem kell a feladatban
print(fizetes(km))
else:
print(km, " km út megtétele után a futár: ", fizetes(km), "Ft-ot kap.", sep="") # Ez a lényeg
# 8-9. feladat - fizetés napokra és utakra lebontva, majd a heti fizettség
heti = 0
print("\n8. feladat")
tavok_ki = open("dijazas.txt", "w")
for ut in utak:
nap = ut[0]
fuvar = ut[1]
ar = fizetes(ut[2])
heti += ar
tavok_ki.write(str(nap)+". nap "+str(fuvar)+". út: "+str(ar)+" Ft\n")
tavok_ki.close()
print("A \'dijazas.txt\' fájl létrehozva!")
print("\n9.feladat")
print("A futár heti fizetsége: ", heti, "Ft")
input("\nA program befejezéséhez kérem nyomjon ENTERT-t...")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment