Egy színházban a jegyeladásokat elektronikusan rögzítik. A színházban 15 sor (számozása: 1, 2,…15), soronként 20 szék van. Egy előadásra a pillanatnyilag eladott jegyek eloszlását a foglaltsag.txt
Például:
ooxxxoxoxoxoxxxooxxx
xxxxxxxxxxxxxxxxxxxx
Az első sor 1-2. széke például még szabad, míg a 2. sorban az összes jegyet eladták.
Olvasd be és tárold el a foglaltsag.txt fájl adatait!
Határozd meg, hány jegyet adtak el eddig, és ez a nézőtér befogadóképességének hány százaléka! A százalékértéket kerekítsd egészre, és az eredményt írasd ki a képernyőre!
Azt is határozd meg és írasd ki, hogy milyen számú sor(ok)ban van a legtöbb szabad szék. Ha több ilyen is van, akkor mindegyik sor száma jelenjen meg a kiírásban!
Minta (nem okvetlenül a jó eredmény):
Az előadásra 156 jegyet adtak el, ez a nézőtér 62%-a.
A legtöbb szabad szék (11 darab) a 3., 10., 12. sorban van.
fajl = open('foglaltsag.txt')
forras = fajl.read() # mivel csak az x betűket keressük, ehhez nem kell sorokra darabolni a tartalmat
fajl.close()
foglalt = forras.count('x')
print(f'Az előadásra {foglalt} jegyet adtak el, ez a nézőtér {str(round(100*foglalt/(15*20)))}%-a.')
adatok = [sor.count('o') for sor in forras.splitlines()] # mostmár sorokra kell darabolni, hogy a sor számát is meg tudjuk mondani
legtobb = max(adatok)
sorszamok = [str(i1+1) for i1 in range(len(adatok)) if adatok[i1]==legtobb]
# az indexhez 1-et hozzá kell adni, mert a sorok számozása 1-től, nem 0-tól indul
print('A legtöbb szabad szék ('+str(legtobb)+' darab) a '+'., '.join(sorszamok)+'. sorban van.')