szamlalas.py
1    print('Kerékpárosforgalom-számlálás')
2    print('-------------------------------------------------------------')
3    forgalom = [36, 48, 39, -1, 30, 43, -1, 76, 67, 82, 73, 75, 64, 73, 69, 63]
4    # forgalom = [adat if adat != -1 else 0 for adat in forgalom]
5    print(forgalom)
6    print('\n2. feladat')
7    osszesen = sum(adat for adat in forgalom if adat != -1)
8    print(f'"Pythonos" megoldás: Összesen {osszesen} kerékpárost számoltak.')
9    
10   # "KLASSZIKUS" MEGOLDÁS - feltételes összegzés
11   osszesen = 0
12   for adat in forgalom:
13       if adat != -1:
14           osszesen += adat
15   print(f'Klasszikus megoldás: Összesen {osszesen} kerékpárost számoltak.')
16   
17   print('\n3. feladat')
18   orankent = []           # 6 órától 10 óráig tart a számlálás (4 x 4 adatunk van)
19   for ora in range(0, len(forgalom), 4):
20       osszesen = sum(forgalom[ora:ora+4])         # 4 elemű részlistát összegezzük
21       hiba = forgalom[ora:ora+4].count(-1)        # ebben a 4 elemben hány -1-es van (count)
22       orankent.append(osszesen + hiba)            # -1-eket "visszaadjuk"
23   for ora, adat in enumerate(orankent, 6):        # enumerate: 6-tól indul az ora változó értéke
24       print(f'{ora} órától {adat} kerékpáros')
25   
26   print('\n4. feladat')
27   hely = forgalom.index(max(forgalom)) + 1  # max fv. kiválasztja a legnagyobb értéket, az index fv. megadja
28                                             # az indexét, +1, hogy rendes sorszámot kapjunk
29   ora = 6 + hely // 4                       # melyik "négyesben", azaz órában vagyunk (// egész részt adja osztáskor)
30   perc = (hely % 4) * 15                    # hányadik percben (minden 15 percben van egy adatunk)
31   print(f'Az áthaladók maximális száma: {max(forgalom)}; a rögzítés időpontja: {ora}:{perc}')
32   
33