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ý.

Dále zobecněte kód tak, aby pracoval s libovolnou velikostí vstupního argumentu

Funkce pro textové řetězce

  1. Napište funkci contains, která pro zadaný text text a znak char zjistí, jestli text obsahuje znak char.
    Ručně napište cyklus, který bude procházet přes znaky textu, nepoužívejte operátor in (pokud ho znáte).

    >>> contains("banana", "n")
    True
    >>> contains("banana", "z")
    False
    
  2. Napište funkci count, která pro zadaný text text a znak char spočítá, kolikrát se znak char vyskytuje v textu.
    Nepoužívejte metodu str.count ze standardní knihovny.

    >>> count("banana", "n")
    2
    
  3. Napište funkci find, která pro zadaný text text a znak char zjistí, na jaké pozici se znak char poprvé vyskytuje v textu. Pokud se char v textu nevyskytuje, vraťte -1.
    Nepoužívejte metodu str.find ani str.index ze standardní knihovny.

    >>> find("banana", "b")
    0
    >>> find("banana", "n")
    2
    >>> find("banana", "z")
    -1
    

Cvičení na seznamy

Je dána posloupnost čísel...

  1. zjistěte, jestli jsou všechna navzájem různá.
  2. vypište všechna opakující se čísla (ale každé jen jednou).
  3. 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 11 do 100100?

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.