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.