"""
2014. október: Nézőtér
@author Klemand66
"""

print("\n1. feladat\n")

"""
Mindkét fájlt sorfolytonosan tároljuk el.
A tarnszformációk:
sor=index//20 +1, szek=index%20 +1
index=(sor-1)*20+(szek-1)
"""

betxt = open("foglaltsag.txt")

foglaltsagok=[]
for sor in betxt:
    foglaltsagok+=list(sor.strip())
betxt.close()

betxt = open("kategoria.txt")
kategoriak=[]
for sor in betxt:
    kategoriak+=list(sor.strip())
    
betxt.close()
print("A beolvasások és a szövegfájlok lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

sor=int(input("Kérem egy sor számát (max. 15): "))
szek=int(input("Kérem egy szék számát a sorban (max. 20): "))

if foglaltsagok[(sor-1)*20+(szek-1)]=="o":
    foglaltsag="szabad"
else:
    foglaltsag="foglalt"

print(f'A megadott hely {foglaltsag}.')



print("\n3. feladat\n")

edb=foglaltsagok.count("x")

print(f'Az előadásra eddig {edb} jegyet adtak el, ez a nézőtér {100*edb/len(foglaltsagok):.0f}%-a.')



print("\n4. feladat\n")

katlista=["1","2","3","4","5"]
eladottak=[]

for kat in katlista:
    eladott=list(filter(lambda i: kategoriak[i]==kat and foglaltsagok[i]=="x"  ,range(len(foglaltsagok))))
    eladottak.append(len(eladott))

print(f'A legtöbb jegyet a(z) {eladottak.index(max(eladottak))+1}. árkategóriában értékesítették.')
    


print("\n5. feladat\n")

arlista=[5000,4000,3000,2000,1500]

bevetelek=list(map(lambda i: eladottak[i]*arlista[i], range(len(arlista))))

print(f'A pillanatnyi teljes bevétel {sum(bevetelek):,} Ft.')

                   

print("\n6. feladat\n")

def egyedulallo(hely):
    szek=hely%20 +1
    if szek==1:
        return foglaltsagok[hely]=="o" and foglaltsagok[hely+1]=="x"
    elif szek==20:
        return foglaltsagok[hely]=="o" and foglaltsagok[hely-1]=="x"
    else:
        return foglaltsagok[hely]=="o" and foglaltsagok[hely-1]=="x" and foglaltsagok[hely+1]=="x"
        
egyedulallok=list(map(lambda i: egyedulallo(i), range(len(foglaltsagok))))

print(f'A nézőtéren {egyedulallok.count(True)} egyedülálló üres hely van.')



print("\n7. feladat\n")

def valaszto(i):
    if foglaltsagok[i]=="x":
        return "x"
    else:
        return kategoriak[i]

ujfoglaltsagok=list(map(lambda i: valaszto(i) , range(len(foglaltsagok))))

kitxt = open("szabad.txt","w")

for i,ertek in enumerate(ujfoglaltsagok):
    kitxt.write(ertek)
    if (i+1)%20==0:
        kitxt.write("\n")
        
kitxt.close()
print("A kiíratás és a szövegfájl lezárása sikeresen befejeződött.")


input("\nA befejezéshez nyomd meg az ENTER billentyűt!")
