tanfel201905idny.py
1    tanfel=[]   #a tantárgyfelosztas adatai egy mátrixban (listák listája)
2    tanar=[]    #egy bejegyzés adatai egy listában ---> ez "megy" a tanfel-be
3    
4    #*************************************************************************
5    # 1. Olvassa be és tárolja el a beosztas.txt állományban talált adatokat,
6    #    és annak felhasználásával oldja meg a következő feladatokat!
7    #*************************************************************************
8    fbe=open('beosztas.txt','r')
9    i=0     #mivel négyesével vannak az összetartozó adatok,
10           #számoljuk a beolvasott sorokat
11   oraszam=0   #a 3. feladathoz kell, de érdemes itt az adatok beolvasásakor
12               #már kiszámolni (összóraszám)
13   for sor in fbe:
14       tanar.append(sor.rstrip())
15       i+=1
16       if i==4:    #ha megvolt a négy sor beolvasása, akkor...
17           oraszam+=int(tanar[-1])     #összóraszám kezelése
18           tanfel.append(tanar)        #mátrixba mehet a négy elemű lista
19           i=0                         #számláló nullázása
20           tanar=[]                    #egy adatnégyest tartalmazó lista
21                                       #újra üres
22   fbe.close()
23   #*************************************************************************
24   # 2. Hány bejegyzés található az állományban? Az eredményt írassa ki a
25   #    képernyőre! 
26   #*************************************************************************
27   print('2. feladat')
28   print('A fájlban %d bejegyzés van.' %len(tanfel))
29   
30   #*************************************************************************
31   # 3. A fenntartó számára fontos információ, hogy az iskolában hetente
32   #    összesen hány tanítási óra van. Határozza meg ezt az adatot és írassa
33   #    ki a képernyőre!
34   #*************************************************************************
35   print('3. feladat')
36   print(f'Az iskolában a heti összóraszám: {oraszam}')
37   
38   #*************************************************************************
39   # 4. Kérje be a felhasználótól egy tanár nevét, és írassa ki a képernyőre,
40   #    hogy hetente hány órában tanít! 
41   #*************************************************************************
42   print('4. feladat')
43   nev=input('Egy tanár neve= ')   #Albatrosz Aladin 
44   nev_oraszam=0
45   for tanar in tanfel:
46       if tanar[0]==nev:
47           nev_oraszam+=int(tanar[-1])
48   print(f'A tanár heti óraszáma: {nev_oraszam}')
49   
50   #*************************************************************************
51   # 5. Készítse el az of.txt fájlt, amely az osztályfőnökök nevét tartalmazza
52   #    osztályonként az alábbi formában (az osztályok megjelenítésének
53   #    sorrendje a mintától eltérhet):
54   #               9.a - Albatrosz Aladin
55   #               9.b - Hangya Hanna 
56   #               9.c - Zerge Zenina
57   #*************************************************************************
58   #5. feladat
59   fki=open('of.txt','w')
60   for tanar in tanfel:
61       if tanar[1]=='osztalyfonoki':
62           print(tanar[2]+' - '+tanar[0],file=fki)
63   fki.close()
64   
65   #*************************************************************************
66   # 6. Egyes osztályokban bizonyos tantárgyakat a tanulók csoportbontásban
67   #    tanulnak: ekkor az adott tantárgyra és osztályra két bejegyzést is
68   #    tartalmaz a tantárgyfelosztás. Kérje be egy osztály azonosítóját,
69   #    valamint egy tantárgy nevét, és írassa ki a képernyőre, hogy az adott 
70   #    osztály a megadott tantárgyat csoportbontásban vagy osztályszinten
71   #    tanulja-e! (Feltételezheti, hogy a megadott osztály tanulja a
72   #    megadott tantárgyat.) 
73   #*************************************************************************
74   print('6. feladat')
75   osztaly=input('Osztály= ')      #10.b 
76   tantargy=input('Tantárgy= ')    #kemia 
77   ketto=0
78   for tanar in tanfel:
79       if tanar[2]==osztaly and tanar[1]==tantargy:
80           ketto+=1
81   
82   if ketto==2:
83       print('Csoportbontásban tanulják.')
84   else:
85       print('Osztályszinten tanulják.')
86   
87   #*************************************************************************
88   # 7. A fenntartó számára az is fontos információ, hogy hány tanár dolgozik
89   #    az iskolában. Írassa ki ezt az adatot a képernyőre! 
90   #*************************************************************************
91   print('7. feladat')
92   tanarok=set()   #halmazt érdemes használni, ebbe "dobáljuk" a neveket
93   for tanar in tanfel:
94       tanarok.add(tanar[0])
95   print(f'Az iskolában {len(tanarok)} tanár tanít.')
96   
97   
98   
99   
100  
101      
102