with open('kepszem.txt') as fajl:
    forras = fajl.read().splitlines()
adatok = [forras[i].split(' ') for i in range(1,len(forras))]

rokonok = ['En', 'Apa', 'Anya', 'Mama', 'Papa', 'Ocsi', 'Hugi']
ism = []
for adat in adatok:
    ism.extend([adat[i] for i in range(2,len(adat)) if adat[i] not in rokonok]) #a rokonokat ki kell szedni a kép személyei közül
    #append helyett extend, hogy egyesével, ne pedig listaként fűzze hozzá az embereket
ism = set(ism)  #kiszedi az ismétlődéseket
print(f'1. feladat\n{len(ism)} ismerős szerepel a képeken.')

nemism = [1 for adat in adatok if adat[0]=='-' and adat[1]=='-']
print(f'\n2. feladat\n{len(nemism)} kép készítésének ideje és helye ismeretlen.')

emberszam = [len(adat)-2 for adat in adatok]    #az első két adat nem ember
print(f'\n3. feladat\n{max(emberszam)} embernél nincs több egy képen sem.')

print('\n4. feladat')
ism = []
for adat in adatok:
    ism.extend([adat[i] for i in range(2,len(adat))])
ism = list(set(ism))    # set: kiszedi az ismétlődéseket; list: rendezhetővé kell tenni, a halmaz pedig nem rendezhető
ism.sort()
print('A képeken szerepel:',', '.join(ism)+'.')

ember = input('\n5. feladat\nKérem adj meg egy szereplőt: ')
idok = [adat[1] for adat in adatok if 'En' in adat[2:len(adat)] and ember in adat[2:len(adat)] and adat[1]!='-'] #csak az ismert idők
if idok:
    print(f'Tamás és {ember} közös időpontjai:', ' '.join(idok))
else:
    print(f'Tamás és {ember} nem szerepel közösen ismert időpontban készitett képen.')

sorok = []
for adat in adatok:
    ism = adat[2:len(adat)] #csak az ismerősök
    if 'En' in ism:         #Tamáson kívül...
        ism.remove('En')
    csaladtag = [i for i in ism if i in rokonok]    #a családtagokat gyűjti össze az ismerősök közül
    if len(csaladtag)>=2:         
        sorok.append(adat)
fajl = open('egyutt-vg.txt','w')
print('Családi tabló',file=fajl)
for adat in sorok:
    kiir = [adat[0]+' '*(15-len(adat[0]))]
    # elég 15-re kiegészíteni az oszlopszélességet helyközökkel, kiíráskor hozzá jön még egy helyköz
    kiir.append(adat[1]+' '*(15-len(adat[1])))
    kiir.extend(sorted(adat[2:len(adat)]))
    print(' '.join(kiir),file=fajl)
fajl.close()
