Informatika2-2022/CsütGyak04
(→Átlaghoz legközelebbi) |
|||
(2 szerkesztő 16 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | == Szélsőértékek == | + | ==Előző óra== |
+ | |||
+ | === Szélsőértékek === | ||
Írjuk meg a minimum() és maximum() függvényt, aminek a bemenete egy lista és kiemenete a lista legkisebb, illetve legnagyobb eleme. | Írjuk meg a minimum() és maximum() függvényt, aminek a bemenete egy lista és kiemenete a lista legkisebb, illetve legnagyobb eleme. | ||
− | == Legnagyobb, legkisebb == | + | === Legnagyobb, legkisebb === |
Írjunk egy két paraméteres függvényt <code>szelsoertek</code> néven, első paramétere legyen: ''l'', ami egy számokat tartalmazó lista, a második pedig egy <b>True</b> vagy <b>False</b> érték | Írjunk egy két paraméteres függvényt <code>szelsoertek</code> néven, első paramétere legyen: ''l'', ami egy számokat tartalmazó lista, a második pedig egy <b>True</b> vagy <b>False</b> érték | ||
9. sor: | 11. sor: | ||
A függvény térjen vissza a lista legnagyobb elemek indexeivel, ha a második paraméter <b>True</b>, egyébként pedig legkisebb elemének indexeivel. | A függvény térjen vissza a lista legnagyobb elemek indexeivel, ha a második paraméter <b>True</b>, egyébként pedig legkisebb elemének indexeivel. | ||
− | ==Tuple== | + | ===Tuple=== |
Definiáljunk egy függvényt lookup() néven, aminek 2 argumentuma van. A második argumentuma egy lista, ami 2 hosszú tuple-ket tartalmaz, az első argumentum pedig a kulcs. A lookup(kulcs, lista) hívás térjen vissza az első olyan tuple második tagjával, aminek az első tagja megegyezik a kulcs bemenettel. Ha nincs ilyen tuple a listában, akkor térjen vissza None-nal. | Definiáljunk egy függvényt lookup() néven, aminek 2 argumentuma van. A második argumentuma egy lista, ami 2 hosszú tuple-ket tartalmaz, az első argumentum pedig a kulcs. A lookup(kulcs, lista) hívás térjen vissza az első olyan tuple második tagjával, aminek az első tagja megegyezik a kulcs bemenettel. Ha nincs ilyen tuple a listában, akkor térjen vissza None-nal. | ||
− | ==Legnagyobb közös osztó== | + | ===Legnagyobb közös osztó=== |
Definiáljuk az lnko() függvényt, aminek paramétere két természetes szám és visszatér a legnagyobb közös osztójukkal. (Ehhez felhasználható a prím_faktorizáció() függvény.) | Definiáljuk az lnko() függvényt, aminek paramétere két természetes szám és visszatér a legnagyobb közös osztójukkal. (Ehhez felhasználható a prím_faktorizáció() függvény.) | ||
− | == | + | ==Fő== |
− | Írjunk egy függvényt, aminek bemenete egy lista és visszatér a leghosszabb sorozat hosszával, amiben egy tag | + | ===Leghosszabb konstans sorozat === |
+ | |||
+ | Írjunk egy függvényt, aminek bemenete egy lista és visszatér a leghosszabb olyan sorozat hosszával, amiben egy tag ismétlődik.<br> | ||
Például: | Például: | ||
− | f([1,2,2,2,3]) | + | f([1,2,2,2,3,2]) |
3 | 3 | ||
− | == | + | ===Azonos elemek=== |
− | Definiáljuk | + | Definiáljuk az azonos() függvényt, aminek a bemenete egy lista, és olyan listák listájával tér vissza, amelyek az eredeti lista egymás után következő azonos elemeit tartalmazzák.<br> |
Például: | Például: | ||
− | + | azonos([1,2,2,3,3,3,3,4,2,2]) | |
− | [[1],[2,2],[3,3,3,3],[4]] | + | [[1],[2,2],[3,3,3,3],[4],[2,2]] |
+ | |||
+ | === Átlaghoz legközelebbi === | ||
+ | |||
+ | Írjunk függvényt, mely a kapott valós számokat tartalmazó listában megkeresi a lista elemeinek átlagához legközelebbi számot, és ezzel tér vissza. <br> | ||
+ | Tipp: Használjuk az abszolútérték meghatározására az abs() függvényt.<br> | ||
+ | Üres lista esetén adjon vissza <b>None</b>-t. | ||
+ | |||
+ | ==Nehezebbek== | ||
+ | |||
+ | ===Szavak=== | ||
+ | |||
+ | ====1.==== | ||
+ | |||
+ | Definiáljuk a kiejtés() függvényt, aminek bemenete egy sztring és a program térjen vissza <b>True</b>-val, ha ugyanannyi magánhangzó van benne, mint mássalhangzó, egyébként pedig <b>False</b>-szal. Az egyszerűsítés kedvéért használhatjuk az angol abc-t. | ||
+ | |||
+ | ====2.==== | ||
+ | |||
+ | Írjuk meg a nehéz() függvényt, ami egy sztringről eldönti, hogy nehéz szónak számít-e a sztring. A függvény térjen vissza <b>True</b>-val ha két magássalhangzó egymás után következik benne és térjen vissza <b>False</b>-szal egyébként. Az egyszerűsítés kedvéért használhatjuk az angol abc-t. | ||
+ | |||
+ | === Pascal === | ||
+ | |||
+ | A Pascal-háromszög a binomiális együtthatók háromszög formában való elrendezése. Részletes leírás található pl. a magyar [https://hu.wikipedia.org/wiki/Pascal-h%C3%A1romsz%C3%B6g wikipédián]. | ||
+ | A lényeg, hogy minden elem a felette levő kettő összege és a legelső sorban csak egy 1-es van és úgy tekintjük, hogy a sor többi eleme mind nulla, ami nincs kiírva. | ||
+ | Írjuk meg a <tt>pascal</tt> nevű függvényt, ami visszaadja a Pascal-háromszög első néhány sorát listák listájaként. A függvény paramétere: | ||
+ | * ''n'', hogy hány sort számoljunk ki | ||
+ | |||
+ | Így tehát pl. <tt>pascal(4)</tt>-nek a következőt kell visszaadnia: | ||
+ | |||
+ | [[1], | ||
+ | [1, 1], | ||
+ | [1, 2, 1], | ||
+ | [1, 3, 3, 1]] | ||
+ | |||
+ | Az elemek kiszámolásához ne a binomiális együttható általános (faktoriálisos) képletét használjuk, hanem azt, hogy a felette levő két elem összege! | ||
− | == | + | === Névgenerátor === |
+ | Egy olyan számítógépes játékon dolgozunk, amiben rendszeresen találkozunk más, a számítógép által megszemélyesített, karakterekkel. | ||
+ | Ezeknek a karaktereknek számítógép véletlenszerűen választ nevet, azonban szeretnénk elkerülni hogy ugyanazt a nevet többször lássa a játékos | ||
+ | Ezért ahelyett hogy egy listányi nevet megadtunk volna a játék készítésekor, inkább külön-külön egy listányi előtagot és utótagot adtunk meg, hogy ezekből rakja össze a karakterek neveit. | ||
− | + | Írjuk meg a függvényt, ami az összes lehetséges nevet összerakja az adott elő és utótagok listája alapján. | |
+ | * A függvény neve legyen <tt>nev_generator</tt>, és két paramétere legyen | ||
+ | * ''elotagok'', egy lista, amiben az előtagok szerepelnek karakterláncokként | ||
+ | * ''utotagok'', egy lista, amiben az utótagok vannak hasonlóan. | ||
+ | * A adja vissza az összes lehetséges összerakott nevet egy listában.<br> | ||
+ | Próbáljuk a feladatot listagenerálással is megoldani! |
A lap jelenlegi, 2022. március 13., 21:34-kori változata
Tartalomjegyzék |
Előző óra
Szélsőértékek
Írjuk meg a minimum() és maximum() függvényt, aminek a bemenete egy lista és kiemenete a lista legkisebb, illetve legnagyobb eleme.
Legnagyobb, legkisebb
Írjunk egy két paraméteres függvényt szelsoertek
néven, első paramétere legyen: l, ami egy számokat tartalmazó lista, a második pedig egy True vagy False érték
A függvény térjen vissza a lista legnagyobb elemek indexeivel, ha a második paraméter True, egyébként pedig legkisebb elemének indexeivel.
Tuple
Definiáljunk egy függvényt lookup() néven, aminek 2 argumentuma van. A második argumentuma egy lista, ami 2 hosszú tuple-ket tartalmaz, az első argumentum pedig a kulcs. A lookup(kulcs, lista) hívás térjen vissza az első olyan tuple második tagjával, aminek az első tagja megegyezik a kulcs bemenettel. Ha nincs ilyen tuple a listában, akkor térjen vissza None-nal.
Legnagyobb közös osztó
Definiáljuk az lnko() függvényt, aminek paramétere két természetes szám és visszatér a legnagyobb közös osztójukkal. (Ehhez felhasználható a prím_faktorizáció() függvény.)
Fő
Leghosszabb konstans sorozat
Írjunk egy függvényt, aminek bemenete egy lista és visszatér a leghosszabb olyan sorozat hosszával, amiben egy tag ismétlődik.
Például:
f([1,2,2,2,3,2]) 3
Azonos elemek
Definiáljuk az azonos() függvényt, aminek a bemenete egy lista, és olyan listák listájával tér vissza, amelyek az eredeti lista egymás után következő azonos elemeit tartalmazzák.
Például:
azonos([1,2,2,3,3,3,3,4,2,2]) [[1],[2,2],[3,3,3,3],[4],[2,2]]
Átlaghoz legközelebbi
Írjunk függvényt, mely a kapott valós számokat tartalmazó listában megkeresi a lista elemeinek átlagához legközelebbi számot, és ezzel tér vissza.
Tipp: Használjuk az abszolútérték meghatározására az abs() függvényt.
Üres lista esetén adjon vissza None-t.
Nehezebbek
Szavak
1.
Definiáljuk a kiejtés() függvényt, aminek bemenete egy sztring és a program térjen vissza True-val, ha ugyanannyi magánhangzó van benne, mint mássalhangzó, egyébként pedig False-szal. Az egyszerűsítés kedvéért használhatjuk az angol abc-t.
2.
Írjuk meg a nehéz() függvényt, ami egy sztringről eldönti, hogy nehéz szónak számít-e a sztring. A függvény térjen vissza True-val ha két magássalhangzó egymás után következik benne és térjen vissza False-szal egyébként. Az egyszerűsítés kedvéért használhatjuk az angol abc-t.
Pascal
A Pascal-háromszög a binomiális együtthatók háromszög formában való elrendezése. Részletes leírás található pl. a magyar wikipédián. A lényeg, hogy minden elem a felette levő kettő összege és a legelső sorban csak egy 1-es van és úgy tekintjük, hogy a sor többi eleme mind nulla, ami nincs kiírva. Írjuk meg a pascal nevű függvényt, ami visszaadja a Pascal-háromszög első néhány sorát listák listájaként. A függvény paramétere:
- n, hogy hány sort számoljunk ki
Így tehát pl. pascal(4)-nek a következőt kell visszaadnia:
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]
Az elemek kiszámolásához ne a binomiális együttható általános (faktoriálisos) képletét használjuk, hanem azt, hogy a felette levő két elem összege!
Névgenerátor
Egy olyan számítógépes játékon dolgozunk, amiben rendszeresen találkozunk más, a számítógép által megszemélyesített, karakterekkel. Ezeknek a karaktereknek számítógép véletlenszerűen választ nevet, azonban szeretnénk elkerülni hogy ugyanazt a nevet többször lássa a játékos Ezért ahelyett hogy egy listányi nevet megadtunk volna a játék készítésekor, inkább külön-külön egy listányi előtagot és utótagot adtunk meg, hogy ezekből rakja össze a karakterek neveit.
Írjuk meg a függvényt, ami az összes lehetséges nevet összerakja az adott elő és utótagok listája alapján.
- A függvény neve legyen nev_generator, és két paramétere legyen
- elotagok, egy lista, amiben az előtagok szerepelnek karakterláncokként
- utotagok, egy lista, amiben az utótagok vannak hasonlóan.
- A adja vissza az összes lehetséges összerakott nevet egy listában.
Próbáljuk a feladatot listagenerálással is megoldani!