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.
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.
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.
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.
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í.
A teď už ke slíbené hře.
Ú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 na jednom místě bez zásahu do logiky programu.