15. óra: Az eddig tanultak összefoglalása

Összefoglaljuk azt a pár Python utasítást, kulcsszót, amit eddig tanultunk. A programozási feladatokat ezekbõl - mint LEGO-darabokból egy kisgyerek - kell felépítnünk.


Legóból sok minden építhetõ

 

Nézzük, milyen kulcsszavakat/utasításokat tanultunk!

Tartalomjegyzék (A megfelelõ elemre kattintva a lap odaugrik.)

Mindegyik kulcsszóhoz készült egy kis mintaprogram, amit egy lenyíló dobozban lehet megnézni.

Ha nem világos, mit csinál egy-egy példaprogram, töltsék le, próbálják ki! Ezt-azt írjanak át benne, nézzék meg, mi változik...

 

Egyszerû kimenet/bemenet vissza a tartalomjegyzékhez

 

I. A print() parancs vissza a tartalomjegyzékhez

Feladata: A parancs mögötti zárójelbe tett kifejezéseket kiírja a konzolra.

Szintaxisa: print("Szöveg"+valtozo1+str(valtozó2)), ahol...
... a "Szöveg" szabadon beírt bármi,
... a változó1 egy szöveget tartalmazó változó,
... a változó2 egy számot vagy listát tartalmazó változó, melyet az str szöveggé (string) alakít.

Megjegyzés: A print() utasítás a kiírt szöveg után kéretlenül sort dob. Ha ezt nem akarjuk, felül kell írnunk a 'vége' jelet. Ennek szintaxisa: print(bármi, end=" "). (Most a végére csak egy space-t (üres helyet) tesz, sordobás nem lesz.

Mintaprogram: (megjelenik) ↓ (eltûnik) ↑

Feladat: A nev nevû váltózóban tároljuk el a "Béla" nevet és a kor változóban a 15 számot, majd írjuk ki, hogy: "Béla 15 éves."
 
Ime a program (letölthetõ innen: kiir.py):
A futás eredménye:
Béla 15 éves.

 

II. Az input() parancs vissza a tartalomjegyzékhez

Feladata: A parancs mögötti zárójbe tett üzenetet kiírja a konzolra, majd a begépelt adatot szövegként beolvassa. (A beolvasás eredményének eltárolásáról nekünk kell gondoskodnunk.)

Szintaxisa: input("Üzenet"), ahol...
... az "Üzenet" egy tájékoztató szöveg arról, hogy mit várunk a felhasználótól.

Megjegyzés: A input() utasítás a beolvasott adatot mindig szöveg (string) formátumban olvassa be.
Ha egész számként szeretné a beolvasást, akkor az input teljes utasítását az int() operátorba kell tennie.

Mintaprogram: (megjelenik) ↓ (eltûnik) ↑

Feladat: Kérjük be a felhasználó nevét, majd korát; az eredményt rendre a nev és a kor nevû változóban tároljuk. (Végül ellenõrzésként írjuk ki: "Üdvözlöm XY, ön ennyi-annyi éves.".)
 
A program (letölthetõ innen: beolvas.py):
A futás eredménye (sárgával kiemelve, amit a felhasználó ír be):
Mi a neve: Eszter
Hány éves? 20
Üdvözlöm Eszter, ön 20 éves.

 

Vezérlési szerkezetek vissza a tartalomjegyzékhez

 

III. Az if (else) utasítás(pár) vissza a tartalomjegyzékhez

Feladata: Elágazás létrehozása. Az if alá rendelt utasítást/utasításokat csak akkor hajtja végre a program, ha a mögé írt feltétel igaz. (És csak egyszer! - aztán vége.)
Az if után az else nem kötelezõ, de ha van: az else alá rendelt utasítás akkor aktiválódik, amikor az if mögé írt feltétel hamis.

Szintaxisa: if feltétel:
                 alárendelt utasítás(ok)
             else:
                 alárendelt utasítás(ok)

Megjegyzés: Az if és az else sora is kettõsponttal (:) végzõdik - ez jelzi, hogy alárendelt utasítások következnek. Ha ilyenkor új sort kezdünk, a szövegszerkesztõ automatikusan egy tabulátorral beljebb kezdi az új sort (amit persze mi is kitehetünk, ha nem így jutottunk ide).
Mindaddig, amíg egy tabulátorral beljebb vagyunk, utasításaink az if v. else alá vannak rendelve. Ha ezt már nem akarjuk, a tabulátort vissza kell vegyük.

Mintaprogram: (megjelenik) ↓ (eltûnik) ↑

Feladat: Kérjük be a felhasználó nevét, majd korát; az eredményt rendre a nev és a kor nevû változóban tároljuk, majd köszönjünk neki a következõképp:
- ha az illetõ 20 évnél fiatalabb, akkor: "Szervusz XY!";
- egyébként a köszönés: "Jó napot XY!"
 
A program (letölthetõ innen: elagazas.py):
A futás eredménye (sárgával kiemelve, amit a felhasználó ír be):
Mi a neve: Anna
Hány éves? 16
Szervusz Anna!
vagy:
Mi a neve: Lajos
Hány éves? 46
Jó napot Lajos!

 

IV. A while utasítás vissza a tartalomjegyzékhez

Feladata: Feltételes ciklus elindítása. A while az alá rendelt utasítást/utasításokat újra és újra (ciklikusan) végrehajtja, amíg a while mögé írt feltétel igaz.

Szintaxisa: while feltétel:
                 alárendelt utasítás(ok)

Megjegyzés: A while sora kettõsponttal (:) végzõdik - ez jelzi, hogy alárendelt utasítások következnek. Ha ilyenkor új sort kezdünk, a szövegszerkesztõ automatikusan egy tabulátorral beljebb kezdi az új sort (amit persze mi is kitehetünk, ha nem így jutottunk ide).
Mindaddig, amíg egy tabulátorral beljebb vagyunk, utasításaink a while alá vannak rendelve. Ha ezt már nem akarjuk, a tabulátort vissza kell vegyük.

Mintaprogram: (megjelenik) ↓ (eltûnik) ↑

Feladat: Kérjünk be a felhasználótól egy pozitív egész számot, majd 1-tõl kezdve írjuk ki a pozitív egészeket - tabulátorral elválasztva - a megadott számig.
 
A program (letölthetõ innen: szamlalas.py):
A futás eredménye (sárgával kiemelve, amit a felhasználó ír be):
Adjon meg egy pozitív egészet: 7
1    2    3    4    5    6    7

 

V. A for... in... utasítás vissza a tartalomjegyzékhez

Feladata: Számláló (v. léptetõ) ciklus indítása. A for az alá rendelt utasítást/utasításokat újra és újra (ciklikusan) végrehajtja, amíg az in mögé írt felsorolás elemei el nem fogynak.

Szintaxisa: for változó in felsorolás:
                 alárendelt utasítás(ok)

A felsorolás magyarázata: A 'felsorolás' lehet lista, halmaz vagy range(a, b).
- A lista-t a for felsorolásként értelmezi, sorba veszi a lista elemeit a 0.-tól az utolsóig.
- A halmaz-t a for felsorolásként veszi ugyan, de a halmazban az elemeknek nincs sorrendje. Azok olyan rendben jönnek, ahogy a Python 'gusztusa' szerint éppen vannak...
- A range(a, b)-t (ahol a, b pozitív egészek, a<b) is felsorolásként értelmezi a for; veszi a pozitív egészeket a-tól b - 1-ig. (Tehát b-t már nem!)

A változó magyarázata: A for az in mögött álló felsorolás elsõ elemét beteszi a változóba, lefuttatja a ciklus utasításait, majd beteszi a következõ elemet a változóba, megint lefuttatja az alárendelt utasításait, stb. Ha a felsorolás elemei elfogynak, a for ciklus leáll. (És következik a for után álló elsõ, neki nem alárendelt utasítás.)

Megjegyzés: A for teljes sora kettõsponttal (:) végzõdik - ez jelzi, hogy alárendelt utasítások következnek. Ha ilyenkor új sort kezdünk, a szövegszerkesztõ automatikusan egy tabulátorral beljebb kezdi az új sort (amit persze mi is kitehetünk, ha nem így jutottunk ide).
Mindaddig, amíg egy tabulátorral beljebb vagyunk, utasításaink a while alá vannak rendelve. Ha ezt már nem akarjuk, a tabulátort vissza kell vegyük.

Mintaprogram: (megjelenik) ↓ (eltûnik) ↑

1. feladat: Kérjünk be a felhasználótól egy pozitív egész számot, majd 0-tõl kezdve írjuk ki a pozitív egészeket - tabulátorral elválasztva - a megadott elõttig. (Vagyis a nála 1-gyel kisebb számig.)
 
A program (letölthetõ innen: szamlalas2.py):
A futás eredménye (sárgával kiemelve, amit a felhasználó ír be):
Adjon meg egy pozitív egészet: 7
0    1    2    3    4    5    6
 
2. feladat: Helyezzünk el néhány nevet egy nevek nevû listába, majd irassuk ki egyesével a lista elemeit - mindegyiket új sorba!
 
A program (letölthetõ innen: listazas.py):
A futás eredménye:
Kati
Juli
Béla
Lajos

Folytatás következik...