86_KIVALASZTAS.py

86_KIVALASZTAS.py

nev = ["Anna", "Adam", "Mate", "Laci", "Kati", "Eva", "Pali", "Peti"]

# Kiírja a neveket sorszámmal

for i in range(len(nev)):

print(f"{i+1} {nev[i]}")

# Bekéri a felhasználótól egy sorszámot

k = int(input("Kérem a sorszámot: "))

# Kiírja a kiválasztott nevet

if 1 <= k <= len(nev):

print(f"{k} {nev[k-1]}")

else:

print("Érvénytelen sorszám!")

Az adatelemző

Egy történet, amely egy adatelemző munkáját mutatja be, miközben egy névsor rendezettségét vizsgálja. A történetben minden fontos lépést kód formájában is mellékelek. 

Egy modern adatelemző, Márk, éppen a reggeli kávéját kortyolgatta, amikor egy érdekes feladat érkezett hozzá. Az ügyfél azt kérte, hogy ellenőrizze, vajon egy adott névsor rendezett-e ábécé sorrendben.

nev = ["Anna", "Adam", "Mate", "Laci", "Kati", "Eva", "Pali", "Peti"]

Ez a kapott névsor, amelyet átvizsgálni kell. Ha nincs ábécé sorrendben, fel kell jegyezni az eltéréseket.

Márk először gyorsan megszámolta, hány név szerepel a listában, hogy megfelelő ciklusokat tudjon írni az elemzéshez.

n = len(nev)

A len() függvény segítségével meghatározza a névsor hosszát, ami 8 név.

Először feltételezte, hogy a névsor már rendezett, és csak akkor módosítja ezt az elképzelést, ha rendellenességet talál.

q = False

A q változó tárolja, hogy történt-e csere a listában. Kezdetben False, mert még nem ellenőrizte a neveket.

Márk elkezdte feldolgozni a névsort. Egy while ciklusban addig futtatta az ellenőrzést, amíg nem volt biztos abban, hogy a lista helyes sorrendben van.

while not q: q = True

A ciklus addig fut, amíg a lista nem rendezett. Az elején q = True, mert feltételezi, hogy nincs szükség módosításra.

Sorban elkezdte összehasonlítani az egymás melletti neveket. Ha egy név megelőzi a következőt az ábécé sorrendben, akkor csere történik.

for i in range(n - 1):

if nev[i] >= nev[i + 1]:

nev[i], nev[i + 1] = nev[i + 1], nev[i] q = False

Ha egy név nagyobb vagy egyenlő az utána következőnél, akkor cseréli őket. �� nev[i], nev[i + 1] = nev[i + 1], nev[i] – Python egy egyszerű helycserés megoldást kínál.

Márk végül megnézte, hogy történt-e csere. Ha nem volt módosítás, akkor a lista már helyes sorrendben volt.

if q: print("Rendezett")

else: print("Nem rendezett")

Ha q értéke True maradt, akkor a névsor rendezett volt, és kiírta ezt az eredményt. Ha volt csere, akkor jelezte: "Nem rendezett", és további rendezésre volt szükség.

Amikor Márk futtatta a programot, a kijelzőn megjelent az eredmény:

"Rendezett" ✅

Márk mosolyogva hátradőlt. "Az adatok mindig megmondják az igazságot!" – mondta magának, és elégedetten belekortyolt a kávéjába.