"""
2022. május: Építményadó
@author Klemand66
"""

print("\n1. feladat\n")

betxt = open("utca.txt")

adosavok=["A","B","C"]
sor=betxt.readline()
darsor=sor.strip().split()
savadok=list(map(int,darsor))

telkek=[]
for sor in betxt:
    darsor=sor.strip().split()
    adatsor=[darsor[0],darsor[1],darsor[2],darsor[3],int(darsor[4])]
      #  0: adószám  1: utca  2: házszám  3: adósáv  4: alapterület
    telkek.append(adatsor)
      
betxt.close()
print("A beolvasás és a szövegfájl lezárása sikeresen befejeződött.")



print("\n2. feladat\n")

print(f'A mintában {len(telkek)} telek szerepel.')



print("\n3. feladat\n")

adsz=input("Kérem egy tulajdonos adószámát (pl. 68396): ").strip()
akttelkek=list(filter(lambda t: t[0]==adsz ,telkek))

if len(akttelkek)>0:
    for t in akttelkek:
        print(f'{t[1]} utca {t[2]}')
else:
    print("Nem szerepel az adatállományban.")
    


print("\n4. feladat\n")

def ado(adosav, alapterulet):
    aktindex=adosavok.index(adosav)
    ado=savadok[aktindex]*alapterulet
    if ado < 10000:
        return 0
    else:
        return ado

print(f'Az elkészített függvény:\n\n\
def ado(adosav, alapterulet):\n\
    aktindex=adosavok.index(adosav)\n\
    ado=savadok[aktindex]*alapterulet\n\
    if ado < 10000:\n\
        return 0\n\
    else:\n\
      return ado')



print("\n5. feladat\n")

for s in adosavok:
    aktsavtelkek=list(filter(lambda t: t[3]==s ,telkek))
    aktteruletek=list(map(lambda t: t[4] ,aktsavtelkek))
    aktadok=list(map(lambda a: ado(s,a) ,aktteruletek))
    print(f'{s} sávba {len(aktsavtelkek)} telek esik, az adó: {sum(aktadok):10,} Ft.')



print("\n6. feladat\n")

print("A több sávba sorolt utcák:")

utcalista, adosavlistak = [], []
for t in telkek:
    if t[1] in utcalista:
        aktindex=utcalista.index(t[1])
        if t[3] not in adosavlistak[aktindex]:
            adosavlistak[aktindex].append(t[3])
    else:
        utcalista.append(t[1])
        adosavlistak.append([t[3]])

for i,u in enumerate(utcalista):
    if len(adosavlistak[i])>1:
        print(u)
        


print("\n7. feladat\n")

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

adoszamlista, adolista = [], []
for t in telkek:
    if t[0] in adoszamlista:
        aktindex=adoszamlista.index(t[0])
        adolista[aktindex]+=ado(t[3],t[4])
    else:
        adoszamlista.append(t[0])
        adolista.append(ado(t[3],t[4]))

for i,a in enumerate(adoszamlista):
    kitxt.write(f'{a} {adolista[i]}\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!")
