def idobe(perc):
    nap = perc // 1440
    ora = (perc % 1440) // 60
    perc = perc % 60
    return nap, ora, perc


adatok = []
f = open("lista.txt")
i = 1
egyfilm = ""
for adat in f.readlines():
    egyfilm += adat
    if i % 5 == 0:
        ido, cim, evad_resz, hossz, latta = egyfilm.strip().split("\n")
        adatok.append([ido, cim, evad_resz, int(hossz), int(latta)])
        egyfilm = ""
    i += 1
f.close()

adatok2 = []
f = open("lista.txt")
i = 0
egyfilm = ""
for sor in f.readlines():
    if i % 5 == 0:
        adatok2.append([sor.strip()])
    elif i % 5 == 3 or i % 5 == 4:
        adatok2[-1].append(int(sor.strip()))
    else:
        adatok2[-1].append(sor.strip())
    i += 1
f.close()
print(adatok)
# 2. feladat
vetitett = [x for x in adatok if x[0] != "NI"]
print("2. feladat\nA listában", len(vetitett), "db vetítési dátummal rendelkező epizód van.")

# 3. feladat
latott_db = sum([1 for x in adatok if x[-1] == 1])
print("3. feladat\nA listában lévő epizódok {:.2f}%-át látta.".format(latott_db / len(adatok) * 100))

# 4. feladat
nezett_ido = sum([x[-2] for x in adatok if x[-1] == 1])
print("4. feladat\nSorozatnézéssel {} napot {} órát és {} percet töltött.".format(idobe(nezett_ido)[0],
                                                                                  idobe(nezett_ido)[1],
                                                                                  idobe(nezett_ido)[2]))

# 5. feladat
idopont = input("Adjon meg egy időpontot: ")
nem_latta = [(x[2], x[1]) for x in adatok if x[0] <= idopont and x[-1] == 0]
print("5. feladat")
for evad_resz, cim in nem_latta:
    print(evad_resz, "\t", cim)


# 6. feladat


def hetnapja(ev, ho, nap):
    ev4 = ev // 4
    ev100 = ev // 100
    ev400 = ev // 400
    napok = ["v", "h", "k", "sze", "cs", "p", "szo"]
    honapok = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]
    if ho < 3:
        ev = ev - 1
    return napok[(ev + ev4 - ev100 + ev400 + honapok[ho - 1] + nap) % 7]


# 7. feladat
egynap = input("Adja meg a hét egy napját (például cs)! Nap=")
vetitett_filmek = set(
    [x[1] for x in adatok if x[0] != "NI" and hetnapja(int(x[0][:4]), int(x[0][5:7]), int(x[0][8:])) == egynap])
if len(vetitett_filmek):
    for film in vetitett_filmek:
        print(film)
else:
    print("Az adott napon nem kerül adásba sorozat.")

# 8. feladat
sorozatok = sorted(set(x[1] for x in adatok))
ki = open("summa.txt", "w")
for film in sorozatok:
    egysorozat = [x[-2] for x in adatok if x[1] == film]
    db = len(egysorozat)
    hossz = sum(egysorozat)
    print(film, hossz, db, file=ki)
ki.close()
