Kihagyás

Ismétléses vezérlés

A Pythonnak két primitív ciklusparancsa van:

  • while
  • for

while ciklus

A while ciklussal utasításkészletet hajthatunk végre, amíg egy feltétel igaz.

Írassuk ki i-t, amíg i kisebb, mint 6

i = 1
while i < 6:
    print(i)
    i += 1

Végtelen ciklus

Ne felejtsd el növelni az i-t, különben a ciklus örökké folytatódik.

else utasítás

Az else utasítással egyszer lefuttathatunk egy kódblokkot, amikor a feltétel már nem igaz:

Írassuk ki i-t, amíg i kisebb, mint 6

i = 1
while i < 6:
    print(i)
    i += 1
else:
    print("i már nem nagyobb mint 6")

for ciklus

A for ciklus egy sorozat (vagyis egy lista, egy tuple, egy szótár, egy halmaz vagy egy karakterlánc) feletti iterációra szolgál. Ez kevésbé hasonlít a for kulcsszóhoz más programozási nyelvekben, és inkább egy iterátor módszerként működik.

Iteráció egy listán

Például

fruits = ["apple", "banana", "cherry"]
for x in fruits:
    print(x)

A for ciklushoz nincs szükség indexelési változóra, amelyet előzetesen be kell állítani.

Szöveg bejárása

Még a karakterláncok is iterálható objektumok, karaktersorozatot tartalmaznak:

Járjuk be betűnként a banana szót

for x in "banana":
    print(x)

range függvény

A range() függvény gyakran kapcsolódik a for ciklushoz, mivel egy sorozatot generál, amelyen végig tudunk iterálni.

Paraméterezés

A range() függvény három paramétert fogad:

  • start - a sorozat kezdőértéke (opcionális)
  • stop - a sorozat végső értéke
  • step - a sorozat lépésköze (opcionális)

A start alapértelmezett értéke 0, a step alapértelmezett értéke 1.

Például

for x in range(6):
    print(x)

for y in range(10, 21):
    print(y)

for b in range(0, 20, 2):
    print(b)

enumerate függvény

Az enumerate() függvény egy beépített Python függvény, amelyet akkor használunk, ha egy iterable objektumot (például listát, tuple-t vagy stringet) szeretnénk bejárni úgy, hogy közben az indexet és az elemet is elérjük. Az enumerate() visszaad egy enumerált objektumot, amely a futás közben minden egyes iterációban egy tuple-t generál: az indexet és az aktuális elemet.

Szintaxis

enumerate(iterable, start=0)
  • iterable: Az a sorozat, amelyen végig akarunk menni.
  • start: Az indexelés kezdő értéke (alapértelmezés szerint 0).

Hogyan működik?

Az enumerate() függvény az iterable minden egyes elemére a for ciklus során visszaadja a ciklusváltozókat: az indexet és az elemet egyszerre. Ez különösen hasznos, ha egyszerre szeretnénk egy elemet és annak a sorszámát használni, anélkül, hogy manuálisan kellene nyilvántartani az indexet egy számláló változóval.

Például

gyumolcsok = ["alma", "banán", "körte"]

for i, v in enumerate(gyumolcsok):
    print(f"Index: {i}, Gyümölcs: {v}")

Kimenet

Index: 0, Gyümölcs: alma
Index: 1, Gyümölcs: banán
Index: 2, Gyümölcs: körte

else utasítás a for ciklusban

Az else kulcsszó a for ciklusban egy kódblokkot határoz meg, amelyet a ciklus végén kell végrehajtani:

Például

for x in range(6):
    print(x)
else:
    print("Finally finished!")

Ciklusok megszakítása

break

A break utasítással leállíthatjuk a ciklust:

Például

fruits = ["apple", "banana", "cherry"]
for x in fruits:
    if x == "banana":
        break
    print(x)

continue

A continue utasítással leállíthatjuk az aktuális iterációt, és folytathatjuk a következővel:

Például

fruits = ["apple", "banana", "cherry"]
for x in fruits:
    if x == "banana":
        continue
    print(x)

Gyakorló feladatok

  1. Írj egy programot, amely kiírja az összes páros számot 0-tól 20-ig!
  2. Készíts egy programot, amely megszakítja a ciklust, ha egy bizonyos számot talál!
  3. Írj egy programot, amely végigiterál egy szövegen, és csak a magánhangzókat írja ki!

Összefoglaló

break-continue

Ellenőrző kérdések