02. gyakorlat
Szerkesztés alatt!
Az oldal további része szerkesztés alatt áll, a tartalma minden további értesítés nélkül többször, gyakran, jelentősen megváltozhat!
Függvények¶
A függvény egy olyan programozási konstrukció, amely lehetővé teszi, hogy egy adott műveletet többször végrehajtsunk különböző bemeneti adatokkal anélkül, hogy újra és újra ugyanazt a kódot kellene megírnunk. A függvények segítenek a kódot rendszerezni, elkerülni a kód ismétlését.
Egy egyszerű függvényt így definiálhatunk:
1 2 |
|
Mi történik itt?
- A
def
kulcsszóval létrehozunk egy új függvényt. - A függvény neve
hello
. - A függvény zárójelek között (itt üresen) kaphat paramétereket, amelyek a függvény belsejében használható bemeneti értékek lesznek.
- A függvény törzse behúzás alatt található, ahol a konkrét utasítások vannak, például a
print
függvény, amely kiír egy szöveget.
Hogyan használjuk a függvényt?¶
A függvény meghívásához egyszerűen írjuk le a nevét, majd tegyünk zárójeleket.
Például:
1 |
|
Függvények paraméterei¶
A függvények különböző bemeneti adatokat (paramétereket) is kaphatnak, amelyekkel rugalmasan tudnak működni. Például, ha azt szeretnénk, hogy a függvényünk ne mindig ugyanazt a szöveget írja ki, hanem változó szövegeket fogadjon el, használhatunk paramétereket:
1 2 |
|
Itt a nev
egy paraméter, amely a függvény belsejében használható változóként. Meghívás esetén a zárójelbe írt érték lesz a paraméter értéke (több paraméter esetén vesszővel elválasztva).
Ha meghívjuk a függvényt, akkor a következő történik:
1 2 |
|
Több paraméteres függvények¶
Amikor egy függvény több paramétert vár, akkor ezeket mind meg kell adni a függvényhívás során. Például, ha szeretnénk egy olyan függvényt, amely két számot kap, és összeadja őket, így definiáljuk:
1 2 |
|
Itt az a
és a b
a két paraméter, amelyeket a függvényhíváskor meg kell adni. Így használhatjuk:
1 |
|
A Pythonban lehetőség van több paraméter használatára is, és ezeket sorrendben kell megadni a függvényhíváskor. Például egy három számot összeadó függvény:
1 2 |
|
A függvényt így hívhatjuk meg:
1 |
|
Alapértelmezett paraméterek (default paraméterek)¶
A Pythonban függvényekben lehetőség van alapértelmezett értékeket is meghatározni a paraméterekhez. Ez azt jelenti, hogy ha a függvényt meghívjuk, és nem adunk meg egy bizonyos paramétert, akkor az automatikusan egy előre meghatározott értéket kap.
Példa:
Definiáljunk egy függvényt, amely két számot kap paraméterként, de ha a második paramétert nem adjuk meg, akkor az alapértelmezett értéke 1 legyen:
1 2 |
|
Itt a b
paraméter alapértelmezett értéke 1. Ezért ha a függvényt csak egy paraméterrel hívjuk meg, akkor a második paraméter értéke automatikusan 1 lesz:
1 |
|
Ha mindkét paramétert megadjuk, akkor az alapértelmezett értéket felülírjuk:
1 |
|
Több alapértelmezett paraméter¶
A függvények több alapértelmezett paramétert is kaphatnak, de fontos, hogy az alapértelmezett paramétereket mindig a nem alapértelmezett paraméterek után helyezzük el. Például:
1 2 3 |
|
Ez a függvény egy nevet vár, valamint két alapértelmezett szöveget, amiket nem kötelező megadni. Ha csak a nevet adjuk meg, akkor az alapértelmezett üzenetek jelennek meg:
1 2 3 4 |
|
De ha szeretnénk, felülírhatjuk az alapértelmezett paramétereket:
1 2 3 4 |
|
Visszatérési értékek: return¶
A függvények nemcsak bemenetet kaphatnak, hanem eredményeket is visszaadhatnak. Ez a visszatérés a return
kulcsszóval történik. Ha például egy olyan függvényt szeretnénk, ami két számot összead, és visszaadja az eredményt, így nézne ki:
1 2 |
|
Ebben az esetben a függvény a két paraméter, a
és b
összegét adja vissza, amit a függvény meghívásakor használhatunk fel:
1 2 |
|
Itt a osszead(5, 10)
függvényhívás visszatér a 15-tel, amit elmentünk a eredmeny
változóba, és kiírtuk.
Függvények hívása más függvényekből¶
A függvények belsejében más függvényeket is meghívhatunk, ezáltal összetettebb működéseket is létrehozhatunk. Például, ha van egy függvényünk, ami megdupláz egy számot, azt egy másik függvényből is felhasználhatjuk:
1 2 3 4 5 6 |
|
Ebben az esetben a duplazast_hasznal()
függvény belül meghívja a duplaz()
függvényt, és a visszatért értéket (10) kiírja.
Feltételes elágazások: if, else, elif¶
A programokban gyakran szükséges különböző műveleteket végrehajtani attól függően, hogy egy adott feltétel igaz vagy hamis. Ilyen esetekben használjuk a feltételes elágazásokat: az if
, else
és elif
szerkezeteket.
Példa: if és else
Az if
kulcsszó segítségével ellenőrizhetünk egy feltételt. Ha a feltétel igaz, a hozzá tartozó kódblokk végrehajtódik. Ha hamis, akkor a else
ágban lévő kód fut le.
1 2 3 4 5 6 |
|
Ebben a példában az if
megvizsgálja, hogy a szam
nagyobb-e mint 5. Ha ez igaz, akkor az első üzenet kerül kiírásra, ha nem, akkor a második.
elif: több feltétel kezelése
Az elif
(else if) akkor használható, ha több különböző feltételt szeretnénk ellenőrizni:
1 2 3 4 5 6 7 8 |
|
Itt három különböző lehetőséget vizsgálunk: ha a szám nagyobb mint 10, akkor az első üzenet jelenik meg; ha pont 10, akkor a második; egyébként pedig a harmadik.
Logikai kifejezések: and, or, not¶
A logikai kifejezések lehetővé teszik több feltétel kombinálását. A három alapvető logikai operátor a and
, or
és not
.
- Az
and
akkor igaz, ha mindkét feltétel igaz:
1 2 |
|
- Az
or
akkor igaz, ha legalább az egyik feltétel igaz:
1 2 |
|
- A
not
megfordítja a feltétel igazságát:
1 2 |
|
Példa feladatok megoldásokkal¶
01. feladat¶
Feladat: Írjunk függvényt, ami egy paramétert vár, és azt kiírja a képernyőre kétszer! Hívjuk meg a függvényt a "Hello, világ!" szöveggel, majd a nevünkkel, és végül a kedvenc egész számunkkal!
Megoldás:
1 2 3 4 5 6 7 8 |
|
02. feladat¶
Feladat: Írjunk függvényt, ami nem vár paramétert, bekér egy számot, és visszaadja azt! Hívjuk meg a függvényt és olvassuk be a kedvenc egész számunkat! A függvény eredményével hívjuk meg az előző feladatban megírt függvényt!
Megoldás:
1 2 3 4 5 6 7 |
|
03. feladat¶
Feladat: Írjunk függvényt, ami két számot vár paraméterként, és vissza
adja a két szám összegét! Hívjuk meg a függvényt a saját és a padtársunk kedvenc számával, majd a függvény eredményével hívjuk meg az első feladatban megírt függvényt!
Megoldás:
1 2 3 4 5 6 |
|
04. feladat¶
Feladat: Írjunk függvényt, ami két számot vár paraméterként, és visszaadja a két számból a nagyobbat!
Megoldás:
1 2 3 4 5 6 7 8 9 |
|
05. feladat¶
Feladat: Írjunk függvényt, ami egy számot vár paraméterként, és igazat ad vissza, ha a szám páros, egyébként hamisat!
Megoldás:
1 2 3 4 5 6 |
|
06. feladat¶
Feladat: Micimackó akkor eszik mézet, ha van otthon, és ha éhes. Írjunk függvényt, ami két paramétert vár, az első egy logikai érték, ami azt jelzi, hogy van-e méz otthon, a második pedig egy logikai érték, ami azt jelzi, hogy éhes-e Micimackó. A függvény igazat ad vissza, ha Micimackó mézet eszik, egyébként hamisat.
Megoldás:
1 2 3 4 5 6 |
|
07. feladat¶
Feladat: Írjunk függvényt, ami két számot vár paraméterként, és igazat ad vissza, ha legalább az egyik szám osztható hárommal.
Megoldás:
1 2 3 4 5 6 |
|