Ciklusok, while


A Python lehetővé teszi egy-egy utasítás vagy utasítás blokk ismételt végrehajtását is.
Erre egy ciklikus utasítás szolgál amit a következő sorokba mutatok be.

b = 0
while (b < 9):

    b = b + 1
    print (b)


Két érdekes sor van itt számunkra, az egyik a ciklust létrehozó sor egy kifejezéssel.
While (b < 9): a ciklus mind addig végrehajtódik míg b értéke kisebb mint 9, tehát amíg igaz a kifejezés. (1-től 9-ig kiírja a számokat a ciklus).

A másik sor: b = b + 1 , ez egy matematikai lehetetlenség, de nem itt.! Mit is mondtunk az egy egyenlőségjelről? A programozásban mindig értékadásra használjuk, nem egyenlőség ként működik (==).
b legyen egyenlő b+1 értékkel, leegyszerűsítve b értékét növeljük eggyel.

Amire nagyon vigyáznunk kell, soha ne írjunk végtelen ciklust. A while ciklusban megadott feltétel idővel váltson hamisra!
Pl.: ha az alap programban nem növeljük a b értékét, akkor a while feltétele örökre igaz marad.


Fontos: 1. a while feltétele után mindig tegyünk kettőspontot, evvel kezdődik az utasítás blokk. 2. az utasítás blokk mindig beljebb kezdődjön, tartsuk a behúzást.

A zárójelek a kifejezésekben elhagyhatók az esetválasztásnál (if) és a while ciklusnál is, most csak az átláthatóság kedvéért kerültek ide.

a, b= 0, 0
while (a<10) :
    a = a + 1
    while (b<10):
        b = b + 1
        print(a*b)
    b=0


Kiíratjuk a szorzótáblát ciklusokkal. Egymásba ágyaztunk két ciklust, az elsö ciklus eggyel növeli a értékét, a második ciklus b értékéért felelős, ez addig nem adja vissza az első ciklusra a program futását míg saját maga nem végzet. Tehát 10-szer lefuttatja magát b értékét egyesével növelve, és kiírja a és b szorzatát. Az a értéke ez alatt nem változik. Ha végzett nullázza b értékét és növeli a értékét eggyel, aztán vissza kerül b ciklusba. Ez mind addig fent áll míg a ciklus feltétele hamissá nem válik.

A while ciklus elég fontos összetevő érdemes több módon kipróbálni.


For ciklus

Mint minden más programozási nyelvben úgy itt is megtalálható a for ciklus egy egyedi változata. Mi is ez a for ciklus ? Legtöbbször számláló ciklusként lehet jellemezni (pythonban léptető ciklus). Működése általánosan a kifejezésben megadott értékek határozzák meg, hogy hányszor fusson le a ciklus.

for i in range(10):
    print(i)


Első sor: létrehozunk egy egész típusú változót(i) aminek a for ciklus segítségével
a range(szám sorozat)-ban eltárolt számig, egyesével értéket adunk.
A range(10) jelentése az i egymás után 10 értéket fog kapni 0-9-ig, 10-szer hajtódik
végre a for ciklus. A range-ba több értéket is megadhatunk, ezek megváltoztatják a számsor feldolgozását.

for i in range(6,10):
    print(i)

Range(6,10) – a számsor most is 10-ig (utolsó elem a 9) megy, de a 6-ostól írja ki a számokat.

for i in range(0,41,4):
    print(i)


Itt a range arra utasít, hogy 0-tól 41-ig írjuk ki a számokat 4-esével.
A harmadik érték a lépésközöket adja.

Ugyanígy csökkenő számsort is létrehozhatunk:

for i in range(32,-17,-4):
    print(i)


Itt 32-től -17-ig lépked -4-esével(lépésenként 4-et kivonva).

A for ciklusok is egymásba ágyazhatók többszörösen.
Ami nem szerencsés velük kapcsolatban a cikluson belül a számláló értékének változtatása, ez ugyan is összezavarhatja a ciklus futását.

A for ciklusnak lesznek sokkal fejlettebb felhasználásai is, de erről majd a későbbiekben.