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 = {} 

for i in range(len(meresek)): 

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

     if meresek[i] != -1: 

         orai_osszes[ora] = orai_osszes.get(ora, 0) + 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.

  • A get(ora, 0) biztosítja, hogy ha még nincs ilyen kulcs, akkor 0-ról induljon.

for ora in sorted(orai_osszes): 

       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 = {}

for i in range(len(meresek)):

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

     if meresek[i] != -1:

          orai_osszes[ora] = orai_osszes.get(ora, 0) + meresek[i]

for ora in sorted(orai_osszes):

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

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