"""
2015. május idegennyelvű: Latin táncok
@author Klemand66
"""

print("\n1. feladat\n")

tancok, lanyok, fiuk=[], [], []

betxt = open("tancrend.txt")

for sor in betxt:
    tancok.append(sor.strip()) 
    sor=next(betxt)
    lanyok.append(sor.strip()) 
    sor=next(betxt)
    fiuk.append(sor.strip()) 
    
betxt.close()
print("A beolvasás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

print(f'Az elsőként bemutatott tánc neve: {tancok[0]}')
print(f'Az utolsóként bemutatott tánc neve: {tancok[-1]}')



print("\n3. feladat\n")

print(f'A sambát {tancok.count("samba")} pár mutatta be.')



print("\n4. feladat\n")

Vilmaindexek=list(filter(lambda i: lanyok[i]=="Vilma" ,range(len(tancok))))
Vilmatancok=list(map(lambda i: tancok[i] ,Vilmaindexek))
print(f'Vilma a következő táncokban szerepelt: {", ".join(Vilmatancok)}.')



print("\n5. feladat\n")

akttanc=input("Kérek egy táncot a cha-cha, salsa, rumba, samba, jive, tango, bachata közül: ")
if akttanc in Vilmatancok:
    for i,fiu in enumerate(fiuk):
        if lanyok[i]=="Vilma" and tancok[i]==akttanc: 
            Vilmapartner=fiuk[i]
            break
    print(f'A {akttanc} bemutatóján Vilma párja {Vilmapartner} volt.')
else:
    print(f'Vilma nem táncolt {akttanc}-t.')

    

print("\n6. feladat\n")

lanylista, fiulista=[], []

for lany in lanyok:
    if lany not in lanylista:
        lanylista.append(lany)
        
for fiu in fiuk:
    if fiu not in fiulista:
        fiulista.append(fiu)
        
kitxt = open("szereplok.txt","w")

kitxt.write(f'Lányok: {", ".join(lanylista)}\n')
kitxt.write(f'Fiúk: {", ".join(fiulista)}\n')
 
kitxt.close()
print("A kiíratás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n7. feladat\n")

print("A legtöbbet szereplők:")

lanydbk=list(map(lambda lany:lanyok.count(lany) ,lanylista))
maxlanydb=max(lanydbk)
maxlanyok=[]

for i,lany in enumerate(lanylista):
    if lanydbk[i]==maxlanydb:
        maxlanyok.append(lany)
        
print(f'Lányok: {", ".join(maxlanyok)} ({maxlanydb} táccal)')        

fiudbk=list(map(lambda fiu:fiuk.count(fiu) ,fiulista))
maxfiudb=max(fiudbk)
maxfiuk=[]

for i,fiu in enumerate(fiulista):
    if fiudbk[i]==maxfiudb:
        maxfiuk.append(fiu)

print(f'Fiúk: {", ".join(maxfiuk)} ({maxfiudb} táccal)')

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