Python az iskolában Wiki
Advertisement


import datetime
adatok=[]
class Adat():
    azon: int
    reszlegazon: int
    beki: int
    idoOra: int
    idoPerc:int
    idoMp: int
    masodpercben: int
def kiir(s):
    print(f"{s}.feladat")
def mpbe(ora:int,perc:int,mp:int):
    return (ora*3600)+(perc*60)+mp
def feladat1():
    kiir(1)
    f=open("furdoadat.txt","r",encoding="utf-8")
    for x in f:
        reszek=x.strip().split()
        x=Adat()
        x.azon=int(reszek[0])
        x.reszlegazon=int(reszek[1])
        x.beki=int(reszek[2])
        x.idoOra=int(reszek[3])
        x.idoPerc=int(reszek[4])
        x.idoMp=int(reszek[5])
        x.masodpercben=mpbe(x.idoOra,x.idoPerc,x.idoMp)
        adatok.append(x)
    print("Sikeres beolvasás")
def feladat2():
    kiir(2)
    min=mpbe(23,59,59)
    max=0
    for x in adatok:
        if x.beki==1 and x.reszlegazon==0:
            if x.masodpercben<min:
                min=x.masodpercben
            if x.masodpercben>max:
                max=x.masodpercben
    for x in adatok:
        if x.masodpercben==min:
            print(f"Az első vendég {x.idoOra}:{x.idoPerc}:{x.idoMp}-kor lépett ki az öltözőből.")
        if x.masodpercben==max:
            print(f"Az utolsó vendég {x.idoOra}:{x.idoPerc}:{x.idoMp}-kor lépett ki az öltözőből.")
def feladat3():
    kiir(3)
    mennyi=0
    d={}
    for x in adatok:
        if x.azon not in d.keys():
            d[x.azon] = 0
    for x in adatok:
        d[x.azon]+=1
    for keys, value in d.items():
        if value==4:
            mennyi+=1
    print(f"A fürdőben {mennyi} vendég járt csak egy részlegen.")
def feladat4():
    kiir(4)
    temp1=[]
    temp2=[]
    temp3=[]
    for x in adatok:
        if x.reszlegazon==0 and x.beki==1:
            temp1.append(x.masodpercben)
        if x.reszlegazon==0 and x.beki==0:
            temp2.append(x.masodpercben)
    for i in range(len(temp2)):
            temp3.append(str(datetime.timedelta(seconds=(temp2[i]-temp1[i]))))
    for x in adatok:
        if x.masodpercben==temp1[temp3.index(max(temp3))]:
            print(f"A legtöbb időt eltöltő vendég:{x.azon}.vendég {max(temp3)}")
def feladat5():
    kiir(5)
    hat9=[]
    kilenc16=[]
    negy20=[]
    for x in adatok:
        if mpbe(6,0,0)<x.masodpercben<mpbe(8,59,59) and x.reszlegazon==0 and x.beki==1:
            if x.azon not in hat9:
                hat9.append(x.azon)
        if mpbe(9,0,0)<x.masodpercben<mpbe(15,59,59) and x.reszlegazon==0 and x.beki==1:
            if x. azon not in kilenc16:
                kilenc16.append(x.azon)
        if mpbe(16,0,0)<x.masodpercben<mpbe(19,59,59) and x.reszlegazon==0 and x.beki==1:
            if x.azon not in negy20:
                negy20.append(x.azon)
    print(f"6 - 9 óra között {len(hat9)} vendég\n9 - 16 óra között {len(kilenc16)} vendég\n16 - 20 óraközött {len(negy20)} vendég")
def feladat6():
    kiir(6)
    ki=open("szauna.txt","w",encoding="utf-8")
    temp1 = []#kilép
    temp2 = []#belép
    temp3 = []#eltöltött idő
    kicsoda= []
    bennttoltottido= []
    for x in adatok:
        if x.reszlegazon == 2 and x.beki == 1:
            temp1.append(x.masodpercben)
        if x.reszlegazon == 2 and x.beki == 0:
            temp2.append(x.masodpercben)
    for i in range(len(temp2)):
        temp3.append(str(datetime.timedelta(seconds=(temp1[i] - temp2[i]))))
    for x in adatok:
        if x.masodpercben in temp1:
            kicsoda.append(x.azon)
    for x in temp3:
        bennttoltottido.append(x)
    for i in range(len(bennttoltottido)):
        ki.write(str(kicsoda[i])+" "+str(bennttoltottido[i])+"\n")
    print("Sikeres kiiratás")
def feladat7():
    kiir(7)
    uszoda=[]
    szauna=[]
    gyogyviz=[]
    strand=[]
    for x in adatok:
        if x.reszlegazon==1 and x.azon not in uszoda:
            uszoda.append(x.azon)
        if x.reszlegazon==2 and x.azon not in szauna:
            szauna.append(x.azon)
        if x.reszlegazon==3 and x.azon not in gyogyviz:
            gyogyviz.append(x.azon)
        if x.reszlegazon==4 and x.azon not in strand:
            strand.append(x.azon)
    print(f"Uszoda: {len(uszoda)}\nSzaunák: {len(szauna)}\nGyógyvizes medencék: {len(gyogyviz)} \nStrand: {len(strand)}")
feladat1()
feladat2()
feladat3()
feladat4()
feladat5()
feladat6()
feladat7()
Advertisement