import locale
import functools


def ertek(db):
    if db == 1:
        return 500
    elif db == 2:
        return 500 + 450
    else:
        return 500 + 450 + (db - 2) * 400


vasarlas = []
f = open("penztar.txt")
for i in f.read().split("F\n")[:-1]:
    vasarlas.append(i.strip().split("\n"))
f.close()
print(vasarlas)  # csak teszthez

# másik beolvasás
# f = open("penztar.txt")
# vasarlas2 = []
# termekek = []
# while True:
#     x = f.readline().strip()
#     if x == "":
#         break
#     elif x != "F":
#         termekek.append(x)
#     else:
#         vasarlas2.append(termekek)
#         termekek = []
# f.close()

print("2. feladat\nA fizetések száma: ", len(vasarlas))
print("3. feladat\nAz első vásárló ", len(vasarlas[0]), " darab árucikket vásárolt.")
print("4. feladat")
ssz = int(input("Adja meg a vásárlás sorszámát: "))
cikk = input("Adja meg az árucikk nevét: ")
db = int(input("Adja meg a darabszámot: "))

# sorszam = [i + 1 for i in range(len(vasarlas)) if vasarlas[i].count(cikk) != 0]
sorszam = [i + 1 for i in range(len(vasarlas)) if cikk in vasarlas[i]]  # ha a cikk benne van a vásárlásban, akkor
# az index+1 értéket a sorszám listába tesszük
print("5. feladat")
if len(sorszam):
    print("Az első vasárlás sorszáma: ", sorszam[0])
    print("Az utolsó vasárlás sorszáma: ", sorszam[-1])
    print("Összesen {0} alkalommal vettek belőle.".format(len(sorszam)))
else:
    print("Nincs ilyen termék")

print("6. feladat")
print(db, "darab vásárlása esetén fizetendő összeg: ", ertek(db))

print("7. feladat")
# a megfelelő sorbarendezéshez be kell állítani a nyelvi környezetet
locale.setlocale(locale.LC_ALL, "Hu_hu.UTF8")
for x in sorted(set(vasarlas[ssz - 1]), key=functools.cmp_to_key(locale.strcoll)):
    print(x, vasarlas[ssz - 1].count(x))

print("8. feladat")
ki = open("osszeg.txt", "w")
i = 1
for x in vasarlas:
    osszeg = 0
    for y in set(x):
        osszeg += ertek(x.count(y))
    print(i, ":", osszeg, file=ki)
    i += 1
# másik megoldás
# osszeg = 0
# for i, j in enumerate(vasarlas):
#     osszeg = sum(ertek(j.count(x)) for x in set(j))
#     print(i + 1, osszeg, file=ki)
ki.close()
