KMI/PHT Programování v jazyce Python: Seminář 02

Přiřazení, podmínky, cykly

Jupyter notebook z dnešního semináře. Prezentované zdrojové kódy úkolů.

Zadání

  1. úkol 1

    Napište skript, který vyhledá všechny položky seznamu test v seznamu items a vypíše, zda položka byla nebo nebyla nalezena.

    # pro zadane
    items = [1, 2, 3, 4, 5, 6]
    test = [2, 4, 7]
    
    # skript vraci
    2  nalezeno
    4  nalezeno
    7  nenalezeno
  2. úkol 2

    Napište skript, který ze zadaného řetězce S vynechá každý druhý znak, za každý zbylý znak doplní mezeru a výsledek vytiskne.

    # pro řetězec
    S = 'abcdefghijklmnopqrstuvwxyz'
    
    # skript vraci
    a c e g i k m o q s u w y
  3. úkol 3

    Napište skript, který vytvoří následující čtvercové matice (dvourozměrné pole) o velikosti zadane proměnnou.

    # prázdná matice
    [[0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0]]
    
    # obrácená diagonála
    [[0, 0, 0, 0, 0, 0, 0, 1],
     [0, 0, 0, 0, 0, 0, 1, 0],
     [0, 0, 0, 0, 0, 1, 0, 0],
     [0, 0, 0, 0, 1, 0, 0, 0],
     [0, 0, 0, 1, 0, 0, 0, 0],
     [0, 0, 1, 0, 0, 0, 0, 0],
     [0, 1, 0, 0, 0, 0, 0, 0],
     [1, 0, 0, 0, 0, 0, 0, 0]]
    
    # vybraná oblast
    [[0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 1, 1, 1, 1, 0, 0],
     [0, 0, 1, 1, 1, 1, 0, 0],
     [0, 0, 1, 1, 1, 1, 0, 0],
     [0, 0, 1, 1, 1, 1, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0],
     [0, 0, 0, 0, 0, 0, 0, 0]]
  4. úkol 4

    Napište skript, který v zadaném řetězci S zamění velká písmena za malá a naopak.

    # pro řetězec
    S = 'PyThoN jE zAbaVA'
    
    # skript vraci
    'pYtHOn Je ZaBAva'
  5. úkol 5

    Napište skript, který pro dva listy stejné délky, obsahující pouze čísla vynásobí prvky v těchto listech a to vždy první s poledním druhý s předposledním a tak dále. Například:

    # pro listy a, b
    a = [1, 2, 3, 4]
    b = [5, 6, 7, 8]
    
    # skript vraci
    [8, 14, 18, 20]
  6. úkol 6

    Napište skript, který pro zadaný řetězec vrátí list, obsahující (x, n), kde x je znak v řetězci (každý znak je v listu pouze jednou) a n počet jeho opakování v rámci celého řetězce. Například:

    # pro retezec
    s = 'programování v Pythonu je zábava'
    
    # skript vraci
    [('p', 1), ('r', 2), ('o', 3), ('g', 1), ('a', 3), ('m', 1), ('v', 3), ('á', 2), ('n', 2), ('í', 1), (' ', 4), ('P', 1), ('y', 1), ('t', 1), ('h', 1), ('u', 1), ('j', 1), ('e', 1), ('z', 1), ('b', 1)]