Advertisement
MrBlaise

Emelt informatika érettségi 2012 május - Futár

Oct 17th, 2013
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.38 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. # 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!
  4. # A python3 jelzi, hogy ha esetleg több verzió van telepítve akkor a 3-asat használja!
  5.  
  6. # Rostás Balázs - Emelt informatika érettségi 2012 május - Futár
  7.  
  8. # Díjkalkuláció függvény létrehozása
  9.  
  10. def fizetes(km):
  11.     if km <= 2:
  12.         return(500)
  13.        
  14.     elif km <= 5:
  15.         return(700)
  16.        
  17.     elif km <= 10:
  18.         return(900)
  19.        
  20.     elif km <= 20:
  21.         return(1400)
  22.        
  23.     elif km <= 30:
  24.         return(2000)
  25.        
  26.     else:
  27.         return("Ekkora távot nem tesz meg a futár egy fuvar alatt!")
  28.  
  29. # Más megoldás a fizetés kiszámolására
  30.  
  31. # Ha többsoros megjegyzést szeretnénk létrehozni három aposztrof (''') jelzi a kezdetét és végét
  32.  
  33. '''
  34.  
  35. def fizetes(km):
  36.  
  37.    tarifa = {2:500, 5:700, 10:900, 20: 1400, 30:2000}
  38.    
  39.    összeg = 0
  40.    
  41.    for kulcs in sorted(tarifa.keys()):
  42.        if km <= kulcs:
  43.            összeg = tarifa[kulcs]
  44.            return(összeg)
  45.  
  46. '''  
  47.  
  48. # 1. feladat - tavok.txt beolvasása
  49. tavok_be = open("tavok.txt","r")
  50. utak = []
  51.  
  52. for sor in tavok_be:
  53.     s = sor.split() # split() Minden szót - jelen esetben a számokat - listába rendez egyesével
  54.     utak.append ([int(s[0]), int(s[1]), int(s[2])] )
  55.  
  56. tavok_be.close()
  57. utak.sort()
  58.  
  59. # 2. feladat - hét legelső útja kilométerben
  60. print("2. feladat: ")
  61. print("A hét legelső útja", utak[0][2], "km hosszú volt.")
  62.  
  63. # 3. feladat - hét utolsó útja kilométerben
  64. print("\n3. feladat: ")
  65. print("A hét utolsú útja", utak[-1][2], "km hosszú volt.")
  66.  
  67. # Előkészületek a következő feladatra
  68. fuvar_szam = [0]*8 # Fuvarok száma per nap
  69. tav_per_nap = [0]*8 # Távolságok összege per nap
  70.  
  71. for ut in utak:
  72.     fuvar_szam[ut[0]] += 1
  73.     tav_per_nap[ut[0]] += ut[2]
  74.  
  75. # 4. feladat - hét hányadik napjain nem dolgozott a futár
  76. print("\n4. feladat: ")
  77. print("Szabadnap(ok):", end=' ')
  78.  
  79. for i in range(1,8):
  80.     if fuvar_szam[i] == 0:
  81.         print(i, end=' ')
  82.  
  83. # 5. feladat - melyik nap volt a legtöbb fuva
  84. print("\n\n5. feladat: ")
  85. x = fuvar_szam.index(max(fuvar_szam))
  86. print("A legtőbb fuvar az ",x,". napon volt.", sep='')
  87.  
  88. # 6. feladat - km tekerés per nap
  89. print("\n6. feladat")
  90.  
  91. for i in range(1,8):
  92.     print(i,". nap: ",tav_per_nap[i], " km", sep="")
  93.    
  94. # 7. feladat - fizetés kiszámítása a megadott út hossz alapján
  95. print("\n7. feladat")
  96. km = int(input("A fizetés kiszámolásához adja meg a megtett utat km-ben: "))
  97.  
  98. if fizetes(km) == str(fizetes(km)): # Ez csak szépítés nem kell a feladatban
  99.     print(fizetes(km))
  100. else:
  101.     print(km, " km út megtétele után a futár: ", fizetes(km), "Ft-ot kap.", sep="") # Ez a lényeg
  102.    
  103.  
  104. # 8-9. feladat - fizetés napokra és utakra lebontva, majd a heti fizettség
  105. heti = 0
  106. print("\n8. feladat")
  107. tavok_ki = open("dijazas.txt", "w")
  108.  
  109. for ut in utak:
  110.     nap = ut[0]
  111.     fuvar = ut[1]
  112.     ar = fizetes(ut[2])
  113.     heti += ar
  114.     tavok_ki.write(str(nap)+". nap "+str(fuvar)+". út: "+str(ar)+" Ft\n")
  115.    
  116. tavok_ki.close()
  117.  
  118. print("A \'dijazas.txt\' fájl létrehozva!")
  119. print("\n9.feladat")
  120. print("A futár heti fizetsége: ", heti, "Ft")
  121. input("\nA program befejezéséhez kérem nyomjon ENTERT-t...")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement