"""
2003. minta 2: Kugli
@author Klemand66
"""

print("1. feladat\n")

eredm=["eredm1.txt","eredm2.txt","eredm3.txt","eredm4.txt"]
korok=[]
nevek=[]
pontok=[]

betxt = open(eredm[0])

for i in range(5):
    korok.append(1)
    nevek.append(betxt.readline().strip())
    pontok.append(int(betxt.readline().strip()))

betxt.close()
print("Az eredm1.txt fájl adatainak beolvasása megtörtént.\n")


print("2. feladat\n")

print("Az 1. körben hibapontot kaptak:\n")

for i in range(1,5):
    if pontok[i]<pontok[i-1]:
        print(f' {nevek[i]}')
print()


print("3. feladat\n")

for k in range(1,4):
    betxt = open(eredm[k])
    for i in range(5):
        korok.append(k+1)
        nevek.append(betxt.readline().strip())
        pontok.append(int(betxt.readline().strip()))
    betxt.close()
    
print("Az összes fájl adatainak beolvasása megtörtént.\n")    


print("4. feladat\n")

print("A ledöntött bábuk száma:\n")

nevsor=[]
osszpontok=[]

for i,nev in enumerate(nevek):
    if nev in nevsor:
        if pontok[i]!=10:
            osszpontok[nevsor.index(nev)]+=pontok[i]
    else:
        nevsor.append(nev)
        osszpontok.append(pontok[i]) # először még biztosan nem esett ki

szelessegek=list(map(lambda nev:len(nev),nevsor))
szel=max(szelessegek)

for i,nev in enumerate(nevsor):
    print(f' {nev:{szel}}  {osszpontok[i]}')
print()            


print("5. feladat\n")

maxpont=max(osszpontok)
print(f'A legtöbb pontot elért versenyző: {nevsor[osszpontok.index(maxpont)]}\
 {maxpont} pont\n');


print("6. feladat\n")

print("A kiesett versenyzők és a kiesés köre:\n")

kiesettek=[]
kieseskorei=[]

for i,pont in enumerate(pontok):
    if pont==10:
        if nevek[i] not in kiesettek:
            kiesettek.append(nevek[i])
            kieseskorei.append(korok[i]-1)

        
for i,nev in enumerate(kiesettek):
    print(f' {kiesettek[i]} {kieseskorei[i]}')
print()        


print("7. feladat\n")

print("A 9 pontos versenyzők és a 9 pontos körök:\n")

kilencpontosak=[]
kilencpontoskorok=[]

for i,pont in enumerate(pontok):
    if pont==9:
        nev=nevek[i]
        kor=korok[i]
        if nev in kilencpontosak:
            kilencpontoskorok[kilencpontosak.index(nev)].append(kor)
        else:
            kilencpontosak.append(nev)
            kilencpontoskorok.append([kor])

for i,nev in enumerate(kilencpontosak):
    print(f' {kilencpontosak[i]} ',end="")
    for kor in kilencpontoskorok[i]:
        print(f'{kor} ',end="")
    print()
print()

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

