def kiir(f):
    print(f'{f}. feladat:')
# -----------------------------------------------------------------------------
# 1. Olvassa be és tárolja el a további feldolgozáshoz a rendel.txt állomány
#    tartalmát!
# -----------------------------------------------------------------------------
rendelesek=[sor.strip().split() for sor in open('rendel.txt','r')]
# -----------------------------------------------------------------------------
# 2. Állapítsa meg, hogy hány rendelés történt a teljes időszakban, és írja a
#    képernyőre a rendelések számát!
# -----------------------------------------------------------------------------    
kiir(2)
print(f'A rendelések száma: {len(rendelesek)}')
# -----------------------------------------------------------------------------
# 3. Kérje be a felhasználótól egy nap számát, és adja meg, hogy hány rendelés
#    történt az adott napon!
# -----------------------------------------------------------------------------
kiir(3)
nap=input('Kérem, adjon meg egy napot: ')
rend=[rendeles[0] for rendeles in rendelesek if rendeles[0]==nap]      
print(f'A rendelések száma az adott napon: {len(rend)}')
# -----------------------------------------------------------------------------
# 4. Számolja meg, hogy hány nap nem volt rendelés a reklámban nem érintett
#    városból, és írja ki a napok számát! Ha egy ilyen nap sem volt, akkor írja
#    ki „Minden nap volt rendelés a reklámban nem érintett városból” szöveget!
# -----------------------------------------------------------------------------
kiir(4)
rend={rendeles[0] for rendeles in rendelesek if rendeles[1]=='NR'}
if len(rend)==30:
    print('Minden nap volt rendelés a reklámban nem érintett városból')
else:
    print(f'{30-len(rend)} nap nem volt a reklámban nem érintett\
városból rendelés')
# -----------------------------------------------------------------------------
# 5. Állapítsa meg, hogy mennyi volt az egy rendelésben szereplő legnagyobb
#    darabszám, és melyik volt az a nap, amikor az első ilyen számú rendelést
#    leadták! Az eredményt a minta szerint írja ki!
# -----------------------------------------------------------------------------
kiir(5)
rendezett=sorted(rendelesek,key=lambda r:int(r[2]),reverse=True)
print(f'A legnagyobb darabszám: {rendezett[0][2]}, \
a rendelés napja: {rendezett[0][0]}')
#A legnagyobb darabszám: 9, a rendelés napja: 22
def osszes(varos,nap):
    return sum([int(rend[2]) for rend in rendelesek \
                    if rend[1]==varos and int(rend[0])==nap])
# -----------------------------------------------------------------------------
# 7. Számítsa ki, hogy a kampány utáni első napon, azaz a 21-edik napon melyik
#    városból mennyit rendeltek a termékből! Az eredményt a lenti mintának
#    megfelelő formában írja ki!
# -----------------------------------------------------------------------------
kiir(7)
print(f'A rendelt termékek darabszáma a 21. napon \
PL: {osszes("PL",21)} TV: {osszes("TV",21)} NR: {osszes("NR",21)}')
# -----------------------------------------------------------------------------
# 8. Összesítse városonként, hogy hány rendelés érkezett az első 10, a
#    11-20-adik valamint a záró 10 napon! Az eredményt (a fejlécet is bele-
#    értve) táblázatos formában, tabulátorokkal tagoltan jelenítse meg a képer-
#    nyőn, illetve írja azonos formátumban a kampany.txt szöveges állományba!
# -----------------------------------------------------------------------------
kiir(8)
varosok={'PL':[0,0,0],'TV':[0,0,0],'NR':[0,0,0]}
for rendeles in rendelesek:
    for ism in range(3):
        for nap in range(1+ism*10,11+ism*10):
            if int(rendeles[0])==nap:
                varosok[rendeles[1]][ism]+=1
fki=open('kampany.txt','w')
print('Napok\t1..10\t11..20\t21..30')
print('Napok\t1..10\t11..20\t21..30',file=fki)
for varos,rend in varosok.items():
    print(f'{varos}\t{rend[0]}\t{rend[1]}\t{rend[2]}')
    print(f'{varos}\t{rend[0]}\t{rend[1]}\t{rend[2]}',file=fki)
fki.close()




