Korábbi cikkünkben felvetettük, hogy sokszor kényelmetlen, ha egy programot csak egyszer futtathatunk. A WHILE parancsot használva becsomagoltunk egy tevékenységet. A WHILE addig darálta, amíg egy feltétel nem teljesült. Például: “Amíg nem kapsz fizetésemelést, ne egyél.”, “Amíg hideg van, rakj a tűzre.” (Ne engem…)
Ennek a fajta ciklusnak a bosszantó szépséghibája, hogy ha nem teljesül a feltétel, furcsa dolgok történhetnek. Éhen halsz a következetes koplalással egy szívtelen főnöknél, vagy egy nyitott ablak mellett két nap alatt eltüzeled a tartalékaidat. A programozásban a tipikus hiba, hogy végtelenné válik a ciklus, mert sosem teljesül az a feltétel, amit kikötöttél, s kénytelen vagy szétverni a számítógépedet, hogy a program leálljon.
Most nézzük egy olyan ciklusparancsot, ami sosem emigrál a nagy szagos végtelenbe, mivel mi mondjuk meg, hányszor forduljon. Ő a FOR.
for betu in "Sziamiau": print(betu)
Kezdjük az első sor végén: Van egy “Sziamiau” nevű karakterlánc. A FOR parancs megnézi ennek az első betűjét (IN segítségével megmutatjuk neki), és azt berakja a “betu” nevű változóba. Kettőspontot írunk, mert most jön a ciklus magja. Itt pedig egy ismert utasítással kiíratjuk a “betu” változóba tárolt értéket.
Ezután persze nem áll le a ciklus, hanem végigdarál az összes karakteren.
Ez nem túl látványos példa, sok mindenre nem is használható, de legalább működik.
1) Feladat: Készíts egy ciklust, ami megszámolja milyen hosszú egy karakterlánc! Például egy név vagy egy vers, stb.
2) Mit csinál a következő ciklus?
for x in range(10): print(x)
3) Hogyan működik ezzel a kis változtatással?
for x in range(5,10): print(x)
4) Értelmezd!
for x in range(5,10,2): print(x)
5) Készíts programot, amely 0-tól 10-ig kiszámítja az y = 2x + 2 függvény helyettesítési értékeit!
6) Változtasd meg a tartományt -10-től +10 ig!
7) Készíts olyan programot, amelynek te adhatod meg a tartomány határait!
1) Feladat megoldása:
szamlalo = 0 for betu in "Sziamiau": szamlalo = szamlalo + 1; print(szamlalo)