Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # Rostás Balázs - 2011. október - Pitypang
- def arKiszamitas(lista):
- if lista[2] < 121:
- szezon = 9000
- elif lista[2] < 244:
- szezon = 10000
- else:
- szezon = 8000
- szobaAr = (lista[3] - lista[2])*szezon
- potagy = 0
- reggeli = 0
- if lista[4] == 3:
- potagy = (lista[3] - lista[2])*2000
- if lista[5] == 1:
- reggeli = (lista[3] - lista[2])*lista[4]*1100
- bevetel = [lista[0], szobaAr+potagy+reggeli]
- return bevetel
- def melyikHonap(napSzam):
- honapLista = {1:1, 32:2, 60:3, 91:4, 121:5, 152:6, 182:7, 213:8, 244:9, 274:10, 305:11, 335:12}
- for kulcs in sorted(honapLista.keys()):
- if napSzam >= kulcs:
- honap = honapLista[kulcs]
- return honap
- def szabadSzobak(szobaSzam, napSorSzam, foglalasokAdat):
- for sor in foglalasokAdat:
- if (sor[1] == szobaSzam and ( sor[2] <= napSorSzam <= sor[3] )):
- return False
- return True
- # 1. feladat - pitypang.txt beolvasása
- foglalasokFajl = open("pitypangmeg.txt", "r")
- foglalasokSzama = int(foglalasokFajl.readline())
- foglalasokAdat = [ line.strip().split() for line in foglalasokFajl ]
- foglalasokAdat = [ [ int(sor[0]), int(sor[1]), int(sor[2]), int(sor[3]), int(sor[4]), int(sor[5]), sor[6] ] for sor in foglalasokAdat ]
- foglalasokFajl.close()
- print("1. feladat - pitypang.txt beolvasása - KÉSZ\n")
- # 2. feladat:
- print("2. feladat:")
- legHosz = []
- maxEddig = 0
- for sor in foglalasokAdat:
- if maxEddig < sor[3] - sor[2]:
- maxEddig = sor[3] - sor[2]
- legHosz = sor
- print(legHosz[-1], " (", legHosz[2], ") - ", maxEddig, sep="")
- # 3. feladat:
- print("\n3. feladat:")
- bevetelFajl = open("bevetel.txt", "w")
- evesBevetel = 0
- for sor in foglalasokAdat:
- bevetel = arKiszamitas(sor)
- print(bevetel[0],":",bevetel[1], sep="", file=bevetelFajl)
- evesBevetel += bevetel[1]
- print("Az éves bevétel:", evesBevetel, "Ft")
- bevetelFajl.close()
- # 4. feladat:
- print("\n4. feladat: ")
- vendegEj = {1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0}
- for sor in foglalasokAdat:
- for ej in range(sor[2], sor[3]):
- vendegEj[melyikHonap(ej)] += sor[4]
- for kulcs in sorted(vendegEj.keys()):
- print(kulcs, ": ", vendegEj[kulcs], " vendégéj", sep="")
- # 5. feladat:
- print("\n5. feladat:")
- elsoNap = int(input("Kérem adja meg a foglalás 1. napjának sorszámát: "))
- ejSzam = int(input("Kérem adja meg az eltöltendő éjszakák számát: "))
- utolsoNap = elsoNap+ejSzam
- szabadSzoba = [str(szam) for szam in range(1,28)]
- for szoba in range(1,28):
- for nap in range(elsoNap, utolsoNap):
- if not szabadSzobak(szoba, nap, foglalasokAdat):
- szabadSzoba.remove(str(szoba))
- break
- if len(szabadSzoba)>0:
- print("A szabad szobák sorszáma: ", end="")
- print(", ".join(szabadSzoba))
- print("Összesen:", len(szabadSzoba), "szoba szabad")
- else:
- print("A megadott időben nincs szabad szoba.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement