Python: ciklusok

10. osztály 10.évf Python Programozás Python

While ciklus, elöl tesztelő ciklus

Elől tesztelő ciklus – While. A While ciklus megvizsgálja a belépési feltételt, ha igaz végrehajtja az utasításokat. A ciklusokat ismétlődő feladatok végrahajtására használjuk.

Írassuk ki a számokat 1-től 10-ig! Ez azt jelenti, hogy a feltételnek vagy <11-et adunk, vagy <=10-et. Az i változó értéke mindig 1-el fog növekedni, ahányszor lefut a ciklus. Amikor eléri a 11-et, akkor már ki fog lépni a ciklusból, és az else ág fut le. Az else ág opcionális. Természetesen nem mindegy, hogy a print előtt, vagy után növelhük az i értékét! Próbáld ki!

A coninue utasítást akkor használjuk, ha szeretnénk egy feltételt megvizsgálni, és utána folytatni a ciklust. Például ha i=5, írjuk ki, hogy hoppá! Itt az i értékét nem fogja kiírni, csak a hoppát!

A break utasítást is használhatjuk feltétel vizsgálatra, de ez megszakítja a ciklus futását! Amikor elérünk péládul 5-ig, akkor ki fog lépni a ciklusból.

Példa: Írasd ki 1-100 közötti hárommal osztható számokat!

For cilus

A Pythonban kicsit eltérően működik a for ciklus, mint más programnyelveken. A Pythonban elsősorban összetett adattípusok (sor, lista, szótár, string, halmaz) elemein tudunk végighaladni a segítségével. Így kicsit előre kell vennünk ezeket a fogalmakat is.

Lista bejárása for ciklussal

A lista elemekből áll, ezeket az elemeket szoktuk kiolvasni, bővíteni, törölni… Majd későbbb még visszatérünk rá. Jelen példában csak szeretném kiíratni az összes elemét. A lista neve: napok. A lista elemeit szögletes zárójelek között felsoroljuk. Utána a for ciklus segítségével kiíratjuk: for x in napok Tehát amíg a nem ér a napok elemszámának végére, addig fut a print(x). Az x a lista elemet jelöli, ciklus változó, értéke eggyel nő minden lefutáskor. Számozása 0-tól kezdődik és elemszám-1-ig tart. Más porgramozási nyelveken ezt részletesen ki kell fejteni, lásd C#, JS… Itt sokkal egyszerűbb.

String bejárása

Nagyon hasonló, egyszerű, mint a listánál. Ebben az esetben karakterenként tudunk végigmenni egy stringen. A stringekre is visszatérünk még.

A While ciklushoz hasonlóan a FOR ciklusnál is használhatunk break és continue argumentumot. A continue utasítással megállíthatjuk a for ciklus iterációjat, majd folytathatjuk tovább. A break utasítással pedig ki tudunk „ugrani” a ciklusból ott ahol éppen tart.

A for ciklusban is használhatunk else utasítást, ami akkor fut le, amikor végzett az iterációkkal. (break esetén nem fog kiírni semmit, mert megszakítottuk a ciklus futását.)

Range függvény. Ez hasonlít leginkább a C#-ra, itt megadhatjuk mettől-meddig menjen a for ciklus, és milyen lépésközökkel. A range(1, 51, 2) azt jelenti, hogy 1-től megy 50-ig, és kettesével nő a ciklusváltozó x értéke. Magyarul, csak a páratlan számokat fogja ebben az esetben kiírni. A range-nél a meddig értékéhez tulajdonképpen hozzá kell adni egyet.

Természetesen itt is lehet egyszerűsíteni. Ha csak egy paramétert írok: for x in range(6) az azt jelenti, hogy alapból 0-tól kezdve számoz, így 0 – 5-ig növekszik egyesével a ciklusváltozó értéke. Ha két paramétert adok meg, akkor alapból egyesével növeli a ciklusváltozó értékét.

Nézzünk néhány egyszerű példát for ciklusra!

Gondoltam egy számot játék

Készíts Gondoltam egy számot játékot! A program 1-100 közötti számot sorsoljon, a játékosnak 5 db próbálkozási lehetősége legyen.

Kő, papír, olló játék – számokkal