"""
2013. május idegennyelvű: Számok
@author Klemand66
"""

from random import *


print("\n1. feladat\n")


betxt = open("felszam.txt")

feladatok=[]

while (sor:=betxt.readline())!="":
    feladat=[sor.strip()] # 0: kérdés
    sor=betxt.readline()
    darsor=sor.strip().split()
    feladat+=[int(darsor[0]),int(darsor[1]),darsor[2]]
    # 1: válasz 2: pontszám 3: téma
    feladatok.append(feladat)
    
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 adatfájlban {len(feladatok)} feladat van.')



print("\n3. feladat\n")

matfeladatok=list(filter(lambda fel: fel[3]=="matematika", feladatok))

matdb=len(matfeladatok)
mpdb=[0,0,0]

for fel in matfeladatok:
    aktindex=fel[2]-1
    mpdb[aktindex]+=1

print(f'Az adatfájlban {matdb} matematika feladat van, \n\
1 pontot ér {mpdb[0]} feladat, 2 pontot ér {mpdb[1]} feladat, 3 pontot ér {mpdb[2]} feladat.')



print("\n4. feladat\n")

minvfel=min(feladatok, key=lambda fel: fel[1])
maxvfel=max(feladatok, key=lambda fel: fel[1])

print(f'A fájlban a válaszok legkisebb számértéke {minvfel[1]}, a legnagyobb pedig {maxvfel[1]}.')



print("\n5. feladat\n")

temakorok,tkdbk=[],[]

for fel in feladatok:
    if fel[3]  not in temakorok:
        temakorok.append(fel[3])
        tkdbk.append(1)

print(f'Az adatfájlban szereplő témakörök:\n{", ".join(temakorok)}.')

        

print("\n6. feladat\n")

akttkor=input(f'Kérem kisbetűvel, ékezetmentesen egy témakör nevét a\n\
{", ".join(temakorok)} témakörök közül: ')

aktfeladatok=list(filter(lambda fel: fel[3]==akttkor, feladatok))

velind=randrange(len(aktfeladatok))
valasz=int(input(f'{aktfeladatok[velind][0]} '))
if valasz==aktfeladatok[velind][1]:
    print(f'A válasz {aktfeladatok[velind][2]} pontot ér.')
else:
    print(f'A válasz 0 pontot ér.\nA helyes válasz: {aktfeladatok[velind][1]}')



print("\n7. feladat\n")

velindexek=[]
while len(velindexek)<10:
    velind=randrange(len(feladatok))
    if velind not in velindexek:
        velindexek.append(velind)

osszpont=0

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

for i in velindexek:
    kitxt.write(f'{feladatok[i][2]} {feladatok[i][1]} {feladatok[i][0]}\n')
    osszpont+=feladatok[i][2]
    
kitxt.write(f'A feladatsorra összesen {osszpont} pont adható.\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!")

