Programování 1 – 4. cvičení
Refaktoring
Soubor refaktoring.py obsahuje kód funkce, která provádí několik operací.
Vaším úkolem je refaktorovat (upravit) tento kód tak, aby byl lépe čitelný a organizovaný.
- Vhodně pojmenujte proměnné.
- Rozdělte program na funkce, abyste dodrželi princip jedné odpovědnosti (funkce by měla dělat jen jednu věc).
- Doplňte type hints.
- Doplňte vhodný dokumentační komentář.
Dále zobecněte kód tak, aby pracoval s libovolnou velikostí vstupního argumentu
Funkce pro textové řetězce
-
Napište funkci
contains, která pro zadaný texttexta znakcharzjistí, jestlitextobsahuje znakchar.
Ručně napište cyklus, který bude procházet přes znaky textu, nepoužívejte operátorin(pokud ho znáte).>>> contains("banana", "n") True >>> contains("banana", "z") False -
Napište funkci
count, která pro zadaný texttexta znakcharspočítá, kolikrát se znakcharvyskytuje vtextu.
Nepoužívejte metodustr.countze standardní knihovny.>>> count("banana", "n") 2 -
Napište funkci
find, která pro zadaný texttexta znakcharzjistí, na jaké pozici se znakcharpoprvé vyskytuje vtextu. Pokud secharvtextu nevyskytuje, vraťte-1.
Nepoužívejte metodustr.findanistr.indexze standardní knihovny.>>> find("banana", "b") 0 >>> find("banana", "n") 2 >>> find("banana", "z") -1
Cvičení na seznamy
Je dána posloupnost čísel...
- zjistěte, jestli jsou všechna navzájem různá.
- vypište všechna opakující se čísla (ale každé jen jednou).
- najděte dvojici s co nejmenším rozdílem.
Umíte předchozí úkoly vyřešit efektivněji, pokud víte, ze všechna zadaná čísla leží od do ?
Bludiště
V souboru maze_broken.py je kód jednoduché hry, ve které se hráč pohybuje bludištěm. Kód ale obsahuje celou řadu chyb. Najděte je a opravte.