
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
