Kedves diákok! Ez a feladat az érettségin előforduló halmazműveletek, fájlkezelés és sztringfeldolgozás komplex ötvözete. A gyakorlók beépített függvények (sort, split) és adatszerkezetek kombinálásával fejleszthetik logikai és problémamegoldó képességüket.Feladat: Helységhálózat elemzésEgy logisztikai cég az ország különböző városaiból rögzítette a napi útvonalakat egy utak.txt nevű szöveges állományban.A feladat célja: Határozd meg, hogy melyik az a bánya, amelyik a legtöbb egyedi célállomást (várost) látja el közvetlenül, és írd ki az általa kiszolgált városokat ábécé sorrendben!
------------
# Az ismert adatokkal futtatható változat
def elemzes(adatok_sorai=None):
# Ha nincs külső adat, használjunk tesztadatokat
if adatok_sorai is None:
adatok_sorai = [
"BanyaA;Budapest;12",
"BanyaA;Szeged;15",
"BanyaA;Debrecen;18",
"BanyaB;Pecs;10",
"BanyaB;Gyor;11",
"BanyaC;Miskolc;9",
"BanyaC;Eger;13",
"BanyaC;Kecskemet;14",
"BanyaC;Siofok;16",
"BanyaA;Budapest;20" # duplikált cél
]
adatok = {}
for sor in adatok_sorai:
sor = sor.strip()
if not sor:
continue
banya, cel, tav = sor.split(';')
tav = int(tav)
if banya not in adatok:
adatok[banya] = set()
adatok[banya].add(cel)
if not adatok:
print("Nincs feldolgozható adat.")
return
max_varos = 0
legforgalmasabb_banya = ""
for banya, celok in adatok.items():
if len(celok) > max_varos:
max_varos = len(celok)
legforgalmasabb_banya = banya
print(f"A legtöbb egyedi várost ellátó bánya: {legforgalmasabb_banya}")
print(f"Az ellátott városok száma: {max_varos}")
print("A városok ábécé sorrendben:")
rendezett_varosok = sorted(list(adatok[legforgalmasabb_banya]))
for varos in rendezett_varosok:
print(f"- {varos}")
# Futtatás
elemzes()
------------------
A legtöbb egyedi várost ellátó bánya: BanyaC
Az ellátott városok száma: 4
A városok ábécé sorrendben:
- Eger
- Kecskemet
- Miskolc
- Siofok
--------------------
Futtatás; https://onecompiler.com/python#draft-tdxd
Nincsenek megjegyzések:
Megjegyzés küldése