Informatika1-2013/Gyakorlat4
A MathWikiből
(Változatok közti eltérés)
(→Listák kezelése) |
|||
(egy szerkesztő 6 közbeeső változata nincs mutatva) | |||
59. sor: | 59. sor: | ||
</python> | </python> | ||
* Függvényeknek akárhány paramétere (bemenete) lehet, akár 0 is. | * Függvényeknek akárhány paramétere (bemenete) lehet, akár 0 is. | ||
+ | * Nagy különbség van a kiírás és érték visszaadás közt: | ||
+ | <python> | ||
+ | def fv1(x): | ||
+ | print x * x + 2 * x - 1 | ||
+ | |||
+ | def fv2(x): | ||
+ | return x * x + 2 * x - 1 | ||
+ | |||
+ | ertek1 = fv1(5) | ||
+ | ertek2 = fv2(5) | ||
+ | </python> | ||
+ | * Az '''ertek1''' értéke '''None''' mivel a '''fv1''' nem ad vissza semmilyen értéket, csak kiírja. | ||
+ | * Az '''ertek2''' értéke 34, mert a '''fv2''' visszaadta azt az értéket ('''return''') és nem kiírta | ||
+ | * Függvény csak egy értéket tud visszaadni, de akárhányat ki tud írni: | ||
+ | <python> | ||
+ | def pelda(): | ||
+ | print 22 | ||
+ | return 5 | ||
+ | print 15 | ||
+ | |||
+ | x = pelda() | ||
+ | </python> | ||
+ | * A 15 nem lesz kiírva, mert a '''return 5''' paranccsal visszatér a függvény, azaz ezt az értéket visszaadja és értékül adódik az 5 '''x'''-nek | ||
+ | |||
+ | == Feladatok == | ||
+ | |||
+ | === Lista ismétlés === | ||
+ | |||
+ | * Készítsétek el a 2, 4, 'tizenot', 4 elemeket tartalmazó listát | ||
+ | * Kérdezzétek le a méretét | ||
+ | * Kérdezzétek le a 3. elemét | ||
+ | * Fûzzétek a lista végére a 'negy' stringet | ||
+ | * Kérdezzétek most le a 2. elemtõl utolsó elemig tartó részlistát, mentsétek ezt egy másik változóba | ||
+ | * A részlistának is kérjétek le a méretét | ||
+ | |||
+ | === Elágazások === | ||
+ | |||
+ | === Vezérlési szerkezetek (if, for, while) === | ||
+ | |||
+ | * Egészítsd ki a függvényt, hogy ha az elsõ paraméter kisebb mint a második, akkor azt a karakterláncot adja vissza, hogy "kisebb", ha nagyobb, akkor azt, hogy "nagyobb" és ha egyenlõ akkor "egyenlo"-t! | ||
+ | <!> hasonlit(a, b): | ||
+ | if a < b: | ||
+ | <!> "kisebb" | ||
+ | elif a > b: | ||
+ | <!> "nagyobb" | ||
+ | <!>: | ||
+ | <!> "egyenlo" | ||
+ | |||
+ | * Definiálj egy Sage függvényt ''elojel'' néven, amelynek egy bemenete van (''a''), és a "pozitiv" karakterláncot (vagyis stringet) írja ki ha a kapott paraméter pozitív, "negativ"-at ad vissza ha a szám negatív, és "nulla"-ta ad ha nulla volt a paraméter értéke. | ||
+ | |||
+ | |||
+ | === Listák kezelése === | ||
+ | |||
+ | * Egészítsd ki a kódot, hogy a függvény a kapott lista legkisebb elemét adja vissza: | ||
+ | <python> | ||
+ | def minimum(l): | ||
+ | minelem = <!> | ||
+ | <!> e in l: | ||
+ | if e < <!>: | ||
+ | minelem = e | ||
+ | <!> minelem | ||
+ | </python> | ||
+ | |||
+ | * Írj függvényt ami a kapott lista elemeinek a szummáját visszaadja. (Ne használjátok a '''sum''' beépített függvényt.) | ||
+ | |||
+ | * Írj függvényt ''sokszorozo'' néven, amely bemenetként kap egy számot (''n'') és még egy paramétert, ''a''-t (ennek a típusa bármi lehet). A függvény adjon vissza egy listát, amiben ''n''-szer szerepel az ''a'' értéke. <br/>Például: ''sokszorozo(3, "bla")'' kimenete ["bla", "bla", "bla"] legyen. | ||
+ | |||
+ | * Írj Sage függvényt amely megfordít egy bemenetként kapott listát! | ||
+ | |||
+ | === Házi elõkészítés === | ||
+ | |||
+ | Mentsünk el egy notebookot, hogy háziban ne legyen ezzel gond. |
A lap jelenlegi, 2013. október 10., 09:15-kori változata
Tartalomjegyzék |
Ismétlés az elõzõ gyakról
- String: 'kutya'
- Lista: [1, 8, 'ketto', 1, 9]
- Lista indexek 0-tól kezdõdnek, így az utolsó eleme egy n elemû listának n - 1
- Listák 3. elemének lekérdezése, feltéve, hogy l a lista: l[2]
- Listák hosszának lekérdezése: len(l)
- Új elem hozzáadása: l.append('nyolc')
- stb.
Ismétlés az elõadásról
- Szótár: {'one':1,'two':2}
- Szótár elemének lekérdezése (d a szótár): d['one']
- Elágazás:
if feltétel1: mûvelet1 elif feltétel2: mûvelet2 else: mûvelet3
- Minden aminek igaz-hamis értéke van lehet feltétel. Pl: x > 5, vagy akár x * 6 + 16 == 15 * y + 1
- For ciklus:
l = [4, 5, 2] for e in l: print e * 2
- Ennek az eredménye:
8 10 4
- While ciklus:
i = 1 x = 254 while i <= x: if x % i == 0: print i i = i + 1
- Ezt találjátok ki mit csinál!
- Függvény definiálás:
def titok(x): i = 1 while i <= x: if x % i == 0: print i i = i + 1
- Függvény meghívása:
titok(4752)
- Függvényeknek akárhány paramétere (bemenete) lehet, akár 0 is.
- Nagy különbség van a kiírás és érték visszaadás közt:
def fv1(x): print x * x + 2 * x - 1 def fv2(x): return x * x + 2 * x - 1 ertek1 = fv1(5) ertek2 = fv2(5)
- Az ertek1 értéke None mivel a fv1 nem ad vissza semmilyen értéket, csak kiírja.
- Az ertek2 értéke 34, mert a fv2 visszaadta azt az értéket (return) és nem kiírta
- Függvény csak egy értéket tud visszaadni, de akárhányat ki tud írni:
def pelda(): print 22 return 5 print 15 x = pelda()
- A 15 nem lesz kiírva, mert a return 5 paranccsal visszatér a függvény, azaz ezt az értéket visszaadja és értékül adódik az 5 x-nek
Feladatok
Lista ismétlés
- Készítsétek el a 2, 4, 'tizenot', 4 elemeket tartalmazó listát
- Kérdezzétek le a méretét
- Kérdezzétek le a 3. elemét
- Fûzzétek a lista végére a 'negy' stringet
- Kérdezzétek most le a 2. elemtõl utolsó elemig tartó részlistát, mentsétek ezt egy másik változóba
- A részlistának is kérjétek le a méretét
Elágazások
Vezérlési szerkezetek (if, for, while)
- Egészítsd ki a függvényt, hogy ha az elsõ paraméter kisebb mint a második, akkor azt a karakterláncot adja vissza, hogy "kisebb", ha nagyobb, akkor azt, hogy "nagyobb" és ha egyenlõ akkor "egyenlo"-t!
<!> hasonlit(a, b): if a < b: <!> "kisebb" elif a > b: <!> "nagyobb" <!>: <!> "egyenlo"
- Definiálj egy Sage függvényt elojel néven, amelynek egy bemenete van (a), és a "pozitiv" karakterláncot (vagyis stringet) írja ki ha a kapott paraméter pozitív, "negativ"-at ad vissza ha a szám negatív, és "nulla"-ta ad ha nulla volt a paraméter értéke.
Listák kezelése
- Egészítsd ki a kódot, hogy a függvény a kapott lista legkisebb elemét adja vissza:
def minimum(l): minelem = <!> <!> e in l: if e < <!>: minelem = e <!> minelem
- Írj függvényt ami a kapott lista elemeinek a szummáját visszaadja. (Ne használjátok a sum beépített függvényt.)
- Írj függvényt sokszorozo néven, amely bemenetként kap egy számot (n) és még egy paramétert, a-t (ennek a típusa bármi lehet). A függvény adjon vissza egy listát, amiben n-szer szerepel az a értéke.
Például: sokszorozo(3, "bla") kimenete ["bla", "bla", "bla"] legyen.
- Írj Sage függvényt amely megfordít egy bemenetként kapott listát!
Házi elõkészítés
Mentsünk el egy notebookot, hogy háziban ne legyen ezzel gond.