Evidence údajů pomocí slovníku v Pythonu

Žáci ukládají související údaje do slovníku, pracují s klíči a hodnotami a rozdělují evidenční úlohu na části, které skládají do přehledného programu.

Průvodce tématem Evidence údajů pomocí slovníku v Pythonu v předmětu Informatika pro 9. třídu: co mají žáci zvládnout, na co navázat a kde nejčastěji chybují. K tomu příprava na hodinu, pracovní list nebo písemka, které ScioBot připraví na jedno kliknutí přesně pro tento ročník.

Připravit hodinu Všechny formáty

Klikněte a tvořte

Získejte přípravu zdarma

Vyberte formát. Jedním kliknutím otevřete tvorbu na téma Evidence údajů pomocí slovníku v Pythonu (9. třída) — ScioBot ho připraví za vás.

Připravit hodinu

Další formáty na jedno kliknutí

Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.

Žáci v 9. ročníku používají slovník v textovém Pythonu k ukládání dvojic klíč–hodnota: podle klíče údaj vyhledají, změní nebo doplní. Při práci se slovníkem procvičují proměnné, podmínky a cykly i přehledné uspořádání kódu, které souvisejí s výstupem INF-INF-002-ZV9-007.

Úlohy s evidencí známek, kontaktů nebo skóre vedou k rozdělení problému na části: vložení či změna záznamu, výpis a kontrola, zda klíč existuje (INF-INF-002-ZV9-006). Slovník se hodí, když chceme k údajům přistupovat podle jejich klíčů, nikoli podle pozice v seznamu.

Cílem není vyjmenovat všechny metody slovníku, ale jistě zapisovat dvojice klíč–hodnota, pracovat s klíči a skládat čitelné části programu, například funkce nebo přehledně oddělené bloky kódu.

Předpoklady

  • Základní datové typy, seznam a rozdíl mezi textem a číslem
  • Cyklus for přes seznam a řízení výpočtu
  • Podmíněný příkaz if při rozhodování v programu
  • Funkce a rozdělení kódu na menší celky

Klíčové pojmy

Slovník (dict)
Kolekce dvojic klíč–hodnota zapsaná ve složených závorkách, například {"Anna": 2, "Petr": 1}.
Klíč
Údaj, podle kterého se ve slovníku vyhledává hodnota; často jde o řetězec. Na rozdíl od seznamu se k položce nepřistupuje pomocí číselného indexu.
Hodnota
Údaj uložený pod klíčem; může jím být například číslo, text, seznam nebo další slovník.
Přístup přes hranaté závorky
Zápis slovnik["Anna"] přečte hodnotu u klíče "Anna". Přiřazení slovnik["Anna"] = 2 hodnotu nastaví nebo přepíše; přiřazení pod dosud nepoužitým klíčem přidá nový záznam.
Jedinečnost klíče
Každý klíč se ve slovníku vyskytuje jen jednou. Přiřazením nové hodnoty pod stejným klíčem se původní hodnota přepíše.
Rozklad úlohy
Evidenční úlohu lze rozdělit například na přidání či změnu záznamu, výpis a kontrolu klíče. Jednotlivé části se pak skládají do přehledného programu (INF-INF-002-ZV9-006).
Kontrola klíče
Operátor in ověřuje, zda je klíč ve slovníku. Kontrola před čtením pomůže předejít chybě při přístupu k neexistujícímu klíči.

Časté miskoncepce

  • Častá chyba

    Žák napíše znamky.append({"Anna": 1}) nebo znamky.add(...), protože slovník považuje za seznam, do kterého se položky přidávají na konec.

    Jak na to

    Porovnejte zápisy seznam.append(...) a slovnik["Anna"] = 1. Žák pak nahradí jeden svůj řádek přiřazením ke klíči a program spustí.

  • Častá chyba

    U slovníku kontakty = {"Anna": "123", "Petr": "456"} žák zkusí kontakty[0] a očekává první záznam.

    Jak na to

    Nechte ho vypsat kontakty.keys() a pak použít kontakty["Anna"]. V úloze nahraďte představu „nulté položky“ názvem klíče.

  • Častá chyba

    Žák přiřadí dvakrát hodnotu pod stejným klíčem (znamky["Anna"] = 1 a potom znamky["Anna"] = 3) a hledá, kam se poděla jednička.

    Jak na to

    Vypište slovník po každém přiřazení a ukažte, že klíč Anna zůstává jeden a jeho hodnota se přepíše. Chcete-li u jednoho klíče uchovat více známek, použijte jako hodnotu seznam.

  • Častá chyba

    Žák zamění hledání klíče za hledání hodnoty, například napíše if "Anna" in znamky.values(), když ověřuje, zda je Anna ve slovníku.

    Jak na to

    Na konkrétním slovníku rozlište, zda hledáte jméno, nebo známku. Přítomnost jména ověřte výrazem "Anna" in znamky; známku hledejte mezi hodnotami nebo ji porovnejte se znamky[jmeno].

Jak učit

2–3 hodiny

  1. Evokace: U papírové tabulky jméno–údaj nechte žáky vysvětlit, proč seznam samotných čísel nestačí k dohledání údaje podle jména.
  2. Uvědomění: Společně založte slovník, přidejte a změňte záznam, ověřte přítomnost klíče a rozdělte program na přehledné části (INF-INF-002-ZV9-007).
  3. Reflexe: Žáci na svém programu ukážou, co je klíč a hodnota a k čemu slouží jednotlivé části kódu.

Nápady na aktivity

  • Minievidence třídy: žáci vytvoří slovník jméno → počet bodů, doplní zápis, změnu a výpis záznamů seřazených podle jména pomocí sorted().
  • Rozložená úloha „sklad“: jeden žák navrhne části programu pro přidání kusů, odebrání a výpis stavu; druhý je propojí tak, aby pracovaly se společným slovníkem zboží → počet.

Hodnocení

Žák založí slovník, přidá a změní alespoň dva záznamy a vypíše je cyklem přes klíče bez použití číselného indexu.

Žák rozdělí evidenční úlohu na části a v kódu je přehledně oddělí; dokáže ukázat, která část záznam přidává a která jej pouze čte (INF-INF-002-ZV9-006).

Zdroje

Co pro vás ScioBot připraví k tématu Evidence údajů pomocí slovníku v Pythonu

Interaktivní aktivity, které žáci spustí na tabletu či tabuli, tisknutelné kartičky a hry pro celou třídu – každý formát na téma Evidence údajů pomocí slovníku v Pythonu jedním klikem.

Základní materiály

Interaktivní aktivity 15

K tisku a rozstříhání 8

Hry pro celou třídu 4

Očekávané výstupy

  • INF-INF-002-ZV9-006 Rozdělí problém na jednotlivě řešitelné části a navrhne postupy a algoritmy pro jeho řešení.
  • INF-INF-002-ZV9-007 V blokově orientovaném programovacím jazyce vytvoří přehledný program, používá opakování, větvení programu, proměnné.

Učíte Evidence údajů pomocí slovníku v Pythonu trochu jinak?

Popište ScioBotu vlastními slovy, co s žáky chcete zvládnout a kolik máte času. Materiál přizpůsobí vašemu ŠVP, třídě i žákům se speciálními vzdělávacími potřebami.

Napsat ScioBotu

Související témata