def ido(idopont):
    return idopont[:2] + ":" + idopont[2:]


f = open("tavirathu13.txt")
adatok = [x.strip().split() for x in f.readlines()]
f.close()

print("2.feladat")
varos = input("Adja meg egy település kódját! Település: ").upper()
utolso_ido = [x[1] for x in adatok if x[0] == varos][-1]
print("Az utolsó mérési adat a megadott településről", ido(utolso_ido) + "-kor érkezett.")

print("3. feladat")
rendezett = sorted(adatok, key=lambda n: int(n[-1]))
print("A legalacsonyabb hőmérséklet: ", rendezett[0][0], ido(rendezett[0][1]), rendezett[0][3], "fok")
print("A legnagyobb hőmérséklet: ", rendezett[-1][0], ido(rendezett[-1][1]), rendezett[-1][3], "fok")

print("4. feladat")
szelcsend = [[x[0], ido(x[1])] for x in adatok if x[2] == '00000']
if len(szelcsend):
    for x in szelcsend:
        print(*x)
else:
    print("Nem volt ilyen település.")

print("5. feladat")
telepulesek = sorted(set([x[0] for x in adatok]))
for i in telepulesek:
    ertekek = [int(x[-1]) for x in rendezett if x[0] == i and x[1][:2] in ['01', '07', '13', '19']]
    # időpontok kigyűjtése egy halmazba, ha a méret 4 akkor lesz átlag
    idopontok = {x[1][:2] for x in rendezett if x[1][:2] in ['01', '07', '13', '19'] and x[0] == i}
    atlag = sum(ertekek) / len(ertekek)
    print(i, [' NA', " Középhőmérséklet: " + str(round(atlag))][len(idopontok) == 4], "; Hőmérsékletingadozás: ",
          ertekek[-1] - ertekek[0], sep="")
    # 6. feladat
    ki = open(i + ".txt", "w")
    print(i, file=ki)
    ora_szel = [(ido(x[1]), "#" * int(x[2][4:])) for x in adatok if x[0] == i]
    for y in ora_szel:
        print(*y, file=ki)
    ki.close()
print("7. feladat:\nfájlbaírás kész ")
