5. Forgalomszámlálás

5. Forgalomszámlálás

🔢 1. Adatok tárolása

meresek = [36, 48, 39, -1, 30, 43, -1, 76, 67, 82, 73, 75, 64, 73, 69, 63]

  • Ez a lista tárolja a 16 mérési adatot.

  • A -1 értékek technikai hibát jelentenek, azaz nem számítanak bele az összesítésbe.

🕒 Mérési időpontok generálása

idopontok = [] 

ora = 6 

perc = 15 

for _ in range(16): 

     idopontok.append(f"{ora}:{perc:02}") 

     perc += 15 

    if perc == 60:  

          perc = 0 

          ora += 1

  • Létrehozunk egy idopontok listát, amely tartalmazza a 15 percenkénti időpontokat 6:15-től 10:00-ig.

  • A f"{ora}:{perc:02}" formázás biztosítja, hogy a percek mindig két számjeggyel jelenjenek meg (pl. 6:15, 6:30, stb.).

  • A ciklus 16-szor fut, mert 16 mérési adat van.

📊 2. feladat – Összes kerékpáros

osszes = sum(x for x in meresek if x != -1)

  • Összeadjuk az összes olyan értéket, ami nem -1, tehát csak a valódi mért adatokat.

  • A sum() függvény belső listagenerálással működik.

print("2. feladat") 

print(f"Összesen {osszes} kerékpárost számoltak.")

     Kiírjuk a feladat sorszámát és az összesített eredményt.

📈 3. feladat – Óránkénti összesítés

print("3. feladat") 

print("Óránkénti mérések:")

  • Cím és bevezető szöveg a képernyőre.

orai_osszes = [0]*24

for i in range(len(meresek)): 

     if meresek[i] != -1: 

         ora = int(idopontok[i].split(":")[0])

         orai_osszes[ora] += meresek[i]

  • Végigmegyünk az összes mérési adaton.

  • Az időpontból kivesszük az órát (split(":")[0]), és egész számmá alakítjuk.

  • Ha az érték nem hibás (-1), hozzáadjuk az adott órához tartozó összeghez.

for ora in range(24):

      if orai_osszes[ora]>0: 

           print(f"{ora} órától {orai_osszes[ora]} kerékpáros")

Az órákat növekvő sorrendben kiírjuk, és mellé az adott órában mért összes kerékpárost.

🚴 4. feladat – Maximum keresés

max_ertek = max(x for x in meresek if x != -1)

  • Kikeressük a legnagyobb értéket a hibamentes mérések közül.

index = meresek.index(max_ertek)

  • Megkeressük, hogy a maximum érték hányadik helyen van a listában – ez alapján tudjuk az időpontját.

print("4. feladat") 

print(f"Az áthaladók maximális száma: {max_ertek}; a rögzítés időpontja: {idopontok[index]}.")

  • Kiírjuk a legnagyobb értéket és a hozzá tartozó időpontot.

meresek = [36, 48, 39, -1, 30, 43, -1, 76, 67, 82, 73, 75, 64, 73, 69, 63]

idopontok = []

ora = 6

perc = 15

for _ in range(16):

     idopontok.append(f"{ora}:{perc:02}")

     perc += 15

     if perc == 60:

         perc = 0

         ora += 1

osszes = sum(x for x in meresek if x != -1)

print("2. feladat")

print(f"Összesen {osszes} kerékpárost számoltak.")

print("3. feladat")

print("Óránkénti mérések:")

orai_osszes = [0] * 24 

for i in range(len(meresek)): 

      if meresek[i] != -1: 

           ora = int(idopontok[i].split(":")[0]) 

           orai_osszes[ora] += meresek[i]

# Kiírás csak azoknál az óráknál, ahol volt adat 

for ora in range(24): 

     if orai_osszes[ora] > 0: 

         print(f"{ora} órától {orai_osszes[ora]} kerékpáros") 

# Legnagyobb mérés 

max_ertek = max(x for x in meresek if x != -1) 

index = meresek.index(max_ertek)

print("4. feladat")

print(f"Az áthaladók maximális száma: {max_ertek}; a rögzítés időpontja: {idopontok[index]}.")

Készítette a  Copilot

Vissza