Created
October 17, 2013 10:47
-
-
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)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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