Nauč se Python > Kurzy > Začátečnický kurz PyLadies > Slovníky > Domácí projekty

Těchto pár úkolů slouží k procvičení práce se slovníky, které se následně pokusíš využít při programování známé skautské hry.

  1. Napiš funkci, která pro argumentem zadané číslo n vytvoří a vrátí slovník, kde jako klíče budou čísla od jedné do n a jako hodnoty k nim jejich druhé mocniny. Například:

    >>> mocniny(4)
    {1: 1, 2: 4, 3: 9, 4: 16}
    
  2. Napiš funkci, která sečte a vrátí sumu všech klíčů a sumu všech hodnot ve slovníku, který dostane jako argument. K vyzkoušení můžeš použít slovník z minulé úlohy. Například:

    >>> soucet_klicu_a_hodnot(mocniny(4))
    (10, 30)
    
  3. Napiš funkci, která jako argument dostane řetězec a vrátí slovník, ve kterém budou jako klíče jednotlivé znaky ze zadaného řetězce a jako hodnoty počty výskytů těchto znaků v řetězci. Například:

    >>> pocet_znaku("hello world")
    {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
    
  4. Napiš funkci, která vypíše obsah slovníku (klíče a k nim náležící hodnoty) na jednotlivé řádky.

    Funkci, která něco vypisuje, je vhodné pojmenovat speciálně, zde třeba vypis_slovnik, aby bylo jasné, že jen vypisuje a nic nevrací. Například:

    >>> vypis_slovnik(mocniny(4))
    Klíč 1, hodnota 1
    Klíč 2, hodnota 4
    Klíč 3, hodnota 9
    Klíč 4, hodnota 16
    

A teď už ke slíbené hře.

  1. Úkolem je vytvořit známou skautskou hru „Kdo? S kým? Co dělali?“. Hra se hráče zeptá postupně na různé otázky, například „Kdo?“, „S kým?“, „Co dělali?“, „Kde?“, „Kdy?“, a nakonec „Proč?“, s tím, že mu umožní na jednu otázku odpovědět vícekrát a všechny odpovědi si uloží. Na závěr pak hra z každé sady odpovědí vybere náhodně jednu odpověď a z takto vybraných odpovědí složí větu, kterou vypíše uživateli. Seznam otázek by mělo být možné změnit v kódu na jednom místě bez zásahu do logiky programu.


Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.