Seznamy v Pythonu
Žáci ukládají data do seznamů, procházejí je cyklem, indexují prvky a volí seznam tam, kde nestačí jednotlivé proměnné. Nejde o tabulky ani o informační systémy.
Průvodce tématem Seznamy v Pythonu v předmětu Informatika pro II. ročník: 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 Seznamy v Pythonu (II. ročník) — ScioBot ho připraví za vás.
Další formáty na jedno kliknutí
- Vytvořit: Pracovní list
- Vytvořit: Písemka
- Vytvořit: Aktivita
- Vytvořit: Prezentace
- Vytvořit: Kartičky
- Vytvořit: QR hra
Téma i ročník jsou už vyplněné. Nic nepíšete — rovnou tvoříte.
Seznam v Pythonu je uspořádaná kolekce hodnot pod jedním jménem. Žák ho použije tam, kde by jednotlivé proměnné nestačily: neznámý počet údajů, stejný postup nad řadou prvků, potřeba přistoupit k n-té položce. Téma navazuje na proměnné, výrazy, větvení a cykly; nejde o tabulky, relace ani o informační systémy.
Program prochází seznam cyklem, čte a mění prvky podle indexu a přidává nebo odebírá položky podle zadání. Podle G-INF-02-004 a G-INF-02-007 žák v přehledném programu kombinuje opakování, větvení, proměnné a seznamy a volí datovou strukturu s ohledem na důsledek chyby (špatný index, prázdný seznam, záměna pořadí).
Cílem hodiny je, aby žák uměl seznam založit, naplnit, projít a zdůvodnit, proč je pro daná data vhodnější než několik samostatných proměnných. Složitější algoritmy nad seznamy, funkce s parametry a ladění navazují v dalších jednotkách plánu.
Předpoklady
- Pojmenované proměnné, přiřazení a výrazy v Pythonu
- Větvení a cykly (for, while, podmínky)
- Algoritmus: vlastnosti, zápis a rozklad úlohy
Klíčové pojmy
- Seznam jako kolekce
- Hranaté závorky a čárky: více hodnot jednoho nebo různých typů pod jedním jménem; délka se zjišťuje funkcí len.
- Index od nuly
- První prvek má index 0, poslední len(seznam) − 1; záporný index počítá od konce (−1 je poslední prvek).
- Čtení a zápis prvku
- seznam[i] vrací prvek; seznam[i] = hodnota ho přepíše. Index mimo rozsah vyvolá chybu.
- Průchod cyklem
- for prvek in seznam prochází hodnoty; for i in range(len(seznam)) dává index, když je potřeba prvek i změnit nebo porovnat se sousedem.
- Změna délky
- append přidá prvek na konec, pop odebere (typicky poslední); prázdný seznam [] je platný stav, který program musí ošetřit.
- Kdy seznam zvolit
- Seznam dává smysl při neznámém nebo větším počtu stejnorodých údajů a při stejném postupu nad všemi; dvě tři pojmenované veličiny seznamem nenahrazujeme.
Časté miskoncepce
Častá chyba
Žák napíše seznam[1] a čeká první známku / první město, protože „první je jednička“.
Jak na to
Na tabuli očíslujte konkrétní seznam 0, 1, 2… a nechte žáka ukázat prstíkem první prvek; hned poté spustit print(seznam[0]) a seznam[1] vedle sebe.
Častá chyba
V cyklu for x in seznam žák uvnitř napíše x = nová_hodnota a čeká, že se seznam změní.
Jak na to
Ukázat totéží úlohu s range(len(seznam)) a přiřazením do seznam[i]; vytisknout seznam před i po obou variantách.
Častá chyba
Žák založí a1, a2, a3, a4 pro čtyři vstupy a při pátém údaji program přepisuje nebo vzdá.
Jak na to
Zadat „neznámý počet čísel do konce vstupu“ a nechat doplnit append v cyklu; porovnat s verzí o pevném počtu proměnných.
Častá chyba
Žák sáhne na seznam[len(seznam)] nebo na prázdný seznam[0] a neví, proč program spadne.
Jak na to
Nechat chybu proběhnout, přečíst IndexError, pak před přístupem testovat len a ukázat poslední platný index len − 1.
Jak učit
2–3 hodiny
- Evokace: zapište pět teplot do pěti proměnných a ptejte se, jak spočítat průměr, když jich bude dvacet.
- Jádro: založení seznamu, index 0, průchod for a změna prvku; jedna úloha na append ze vstupu.
- Reflexe: žáci řeknou, kdy by nechali samostatné proměnné a kdy musí být seznam — na konkrétním zadání z hodiny.
Nápady na aktivity
- Seznam známek: načíst n hodnot, spočítat průměr a najít maximum průchodem, ne vestavěnými funkcemi jako jediným řešením.
- Oprava „škrtnuté“ položky: nahradit zadanou hodnotu v seznamu nebo ji odstranit a vypsat seznam před a po změně.
Hodnocení
Žák napíše program, který načte neznámý počet čísel do seznamu, vypíše je v původním pořadí a spočítá součet cyklem.
Ústně zdůvodní volbu seznamu oproti jednotlivým proměnným a opraví přístup se špatným indexem.
Související témata
- Proměnné a výrazy v Pythonu
- Větvení a cykly
- Funkce a podprogramy
- Testování a ladění
- Algoritmus: vlastnosti, zápis a rozklad
- Nároky algoritmu
Zdroje
Co pro vás ScioBot připraví k tématu Seznamy 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 Seznamy v Pythonu jedním klikem.
Základní materiály
-
Příprava na hodinu
Kompletní příprava s cíli, průběhem a aktivitami.
-
Pracovní list
List s úlohami, klíčem a variantou.
-
Písemka
Časovaná písemka s body a variantami.
-
Aktivita
Aktivita do hodiny, kterou žáci hned spustí.
-
Prezentace
Sada slajdů k výkladu a procvičení.
-
Kartičky
Materiál k tisku (kartičky, plakát, pracovní list).
-
QR hra
Interaktivní hra k procvičení tématu.
Interaktivní aktivity 14
-
Křížovka s tajenkou
Legendová křížovka, kde se ve sloupci skrývá tajenka. Skvělá na opakování pojmů.
10–20 min
-
Kartičky
Sada oboustranných kartiček na učení pojmů a definic. Žáci si je procvičí překlápěním.
5–20 min
-
Pexeso a spojovačka
Dvojice kartiček s obrázky, pojmy nebo příklady. Spojovačka, pexeso i volné třídění – ideální na slovní zásobu i opakování.
10–25 min
-
Rozhodovačka
Rychlé rozhodování mezi možnostmi s okamžitou zpětnou vazbou.
5–12 min
-
Otázky
Sada otázek s výběrem odpovědí; jedna nebo více správných. Okamžitá sebekontrola.
5–15 min
-
Vpisování
Žáci dopisují krátké odpovědi a ihned vidí, zda se trefili.
5–15 min
-
Rozřazovačka
Žáci přetahují kartičky do správných kategorií.
5–15 min
-
Rozbory
Žák přiřazuje značky k částem věty nebo výrazu — větné členy, slovní druhy, větné rozbory. Sebevyhodnocovací procvičování.
10–20 min
-
Označování
Žáci označují správná slova přímo v textu.
5–15 min
-
Doplňování textu
Žáci doplňují chybějící slova přímo do vět nebo krátkého textu.
5–15 min
-
Krok po kroku
Žáci řadí kroky procesu do správného pořadí.
5–15 min
-
Popis obrázku
Diagram s očíslovanými špendlíky. Žáci přiřazují popisky k částem obrázku — biologie, zeměpis, anatomie.
5–15 min
-
Přesouvání
Žáci přetahují kartičky do přesně určených slotů.
5–15 min
-
Čtení s porozuměním
Žáci čtou krátký text a odpovídají na otázky k jeho obsahu.
10–25 min
K tisku a rozstříhání 8
-
Páry
Kartičky se dvěma polovinami, které k sobě patří (např. datum–událost). Žáci je vystřihnou a párovají.
10–20 min
-
Výběr z možností (s tajenkou)
Kartičky s úlohami a třemi možnostmi. Písmena u správných odpovědí složí tajenku — žák si tak řešení zkontroluje sám.
10–20 min
-
Doplňování do vět
Věty s výběrem ze dvou možností uvnitř — žák zakroužkuje správnou.
10–20 min
-
Hra Riskuj
Kvízová hra se třemi podtématy a otázkami různé hodnoty — klasický formát Riskuj / Jeopardy.
15–30 min
-
Hra AZ kvíz
28 otázek na hexagonální hrací pole — cílem je spojit všechny tři strany.
15–35 min
-
Označ správnou možnost
Kartičky s otázkou a čtyřmi možnostmi — žák označí správnou (např. kolíčkem).
10–20 min
-
Já mám, kdo má …?
Kartičky s tvrzením a otázkou — žáci je čtou v kruhu a hledají navazující odpověď.
10–25 min
-
Hádej, kdo jsem
Kartičky s popisem osobnosti, věci nebo zvířete v 1. osobě — žáci tipují, o koho/co jde.
10–25 min
Hry pro celou třídu 4
-
AZ kvíz
28 otázek na hexagonálním hracím poli — cílem je spojit všechny tři strany. Včetně náhradních ANO/NE otázek.
15–35 min
-
Riskuj
Klasická hra se 5 kategoriemi a otázkami za 100–500 bodů — týmy soutěží o nejvyšší skóre.
15–40 min
-
Pexeso
Klasické pexeso s 10 dvojicemi (pojem ↔ popis) — dva týmy se střídají a hledají shody.
10–25 min
-
Šarády
Šarády se 12 úkoly (mluvení, kreslení, pantomima) — dva týmy hádají, kdo uhodne první, dostane bod.
15–30 min
Očekávané výstupy
- G-INF-02-004 žák vytvoří přehledný program pro vyřešení konkrétního problému s ohledem na jeho možné důsledky a svou odpovědnost za ně; používá opakování, větvení programu se složenými podmínkami, proměnné, seznamy, podprogramy s parametry a návratovými hodnotami; ve snaze o vyšší efektivitu navrhuje, řídí a hodnotí souběh procesů
- G-INF-02-007 programovací koncepty – programovací jazyk; proměnné, datové typy a jejich vlastnosti, vstup a výstup dat; podprogramy s parametry a s návratovými hodnotami; větvení programu se složenými podmínkami, cykly, seznamy
Učíte Seznamy 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.
Související témata
-
Algoritmus: vlastnosti, zápis a rozklad
Žáci vysvětlí vlastnosti algoritmu, zapíší ho slovně, diagramem i pseudokódem, rozdělí problém na části a zdůvodní, co řešit algoritmicky. Neopakují blokové programování ze ZŠ.
-
Binární kódování
Žáci zapíší čísla ve dvojkové soustavě, vysvětlí bit, bajt a množství informace podle vyloučených možností a zdůvodní volbu datového typu mimo programovací jazyk.
-
Umělá inteligence
Žáci vysvětlí princip strojového učení, uvedou aplikace umělé inteligence a posoudí její limity, přínosy a rizika při práci s informacemi i ve společnosti.
-
Data a informace
Žáci rozliší data od informace, navrhnou sběr a evidenci údajů, posoudí jejich úplnost a význam pro rozhodnutí a oddělí evidenci od návrhu informačního systému.
-
Proměnné a výrazy v Pythonu
Žáci v Pythonu deklarují proměnné, volí datové typy a sestavují číselné i logické výrazy včetně vstupu a výstupu. Nejde o první seznámení s proměnnými ze ZŠ, ale o přehledný zápis výrazů v programu.
-
Tabulky, klíče a procesy
Žáci navrhnou tabulky s atributy, primárním a cizím klíčem, propojí je relacemi a sladí procesy od sběru po výstup s rolemi, které data mění nebo jen čtou.
-
Větvení a cykly
Žáci programují větvení se složenými podmínkami a cykly for i while, vnořují bloky a řídí tok výpočtu. Rozšiřují řízení výpočtu ze ZŠ o složené podmínky a přehlednou strukturu.
-
Počítačové sítě a internet
Žáci porovnají způsoby propojení počítačů, charakterizují lokální sítě a internet, vysvětlí paketový přenos, web, cloud, bezdrátové sítě a internet věcí.