Seznamy v Pythonu
Připravit hodinu Všechny formáty
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.
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
Po vytvoření si materiál stáhnete jako PDF / DOCX.
- Vytvořit: Písemka
Po vytvoření si materiál stáhnete jako PDF / DOCX.
- Vytvořit: Aktivita
- Vytvořit: Prezentace
Po vytvoření si materiál stáhnete jako PPTX / PDF.
- Vytvořit: Tisknutelné materiály
- Vytvořit: Interaktivní hry
Téma si můžete upravit. Předmět a ročník už jsou vyplněné — stačí si vybrat, co chcete vytvořit.
O tématu
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 RVP G žá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.
Zdroje obrázků
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] = hodnotaho přepíše. Index mimo rozsah vyvolá chybu.- Průchod cyklem
Cyklus
for prvek in seznam:postupně zpřístupní hodnoty. Cyklus přes indexy se hodí například při přepisování prvků na jejich místě.seznam = [2, 4, 6] for i in range(len(seznam)): seznam[i] = seznam[i] * 2 print(seznam) # [4, 8, 12]- Změna délky
Metoda
appendpřidá prvek na konec seznamu,popprvek odebere a vrátí jeho hodnotu. Bez indexu odebírá poslední prvek. Prázdný seznam[]je platný stav; pokus odebrat z něj prvek však vyvoláIndexError.- 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.
Nápady na aktivity
-
Postup
Průchod seznamem pomocí cyklu
Žáci seřadí kroky průchodu seznamem: načtení prvku, práce s jeho indexem a aktualizace hodnoty. Zaměří se na to, jak se stav mění při každém opakování.
-
Přiřazování
Indexy a prvky seznamu
Žáci přiřadí výrazy s indexy ke správným prvkům seznamu a určí, jakou hodnotu výraz vrátí. Procvičí práci s konkrétními pozicemi v seznamu.
-
Rozřazování
Proměnné, nebo seznam?
Žáci roztřídí situace podle toho, zda stačí samostatné proměnné, nebo je vhodnější uložit více hodnot stejného typu do seznamu. U každé volby zváží, jak se s daty bude dál pracovat.
-
Kvíz
Přemýšlíme o seznamech v Pythonu
Žáci odpovídají na otázky o vytváření seznamů, indexování a průchodu cyklem. U úloh s kódem určí hodnotu prvku nebo obsah seznamu po provedení příkazů.
-
Doplňování
Doplň kód pro práci se seznamem
Žáci doplní chybějící části krátkých úryvků Pythonu, aby správně získali prvek podle indexu nebo prošli celý seznam cyklem.
-
Logický řetěz
Příčina a důsledek při průchodu seznamem
Žáci sestaví řetěz navazujících kroků a důsledků při průchodu seznamem cyklem, například jak změna prvku ovlivní hodnotu zpracovávanou v dalším kroku.
Č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 od nuly a nechte žáka ukázat první prvek. Potom porovnejte výstupy
print(seznam[0])aprint(seznam[1]).Častá chyba
V cyklu
for x in seznamžák uvnitř napíšex = nová_hodnotaa čeká, že se seznam změní.Jak na to
Porovnejte stejnou úlohu s cyklem přes
range(len(seznam))a přiřazenímseznam[i] = nova_hodnota. Vypište seznam před změnou i po ní; přiřazení do proměnné cyklu a změna prvku seznamu jsou různé operace.Č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
appendv 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
Přečtěte chybu
IndexErrora určete použitý index. U neprázdného seznamu je poslední nezáporný indexlen(seznam) - 1; před přístupem k prvnímu nebo poslednímu prvku ověřte, že seznam není prázdný.
Úkoly pro žáky
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.
Očekávané výstupy
- RVP G žá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ů
Zdroje
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.
Prozkoumejte další témata
-
Hardware a software
Hardware tvoří fyzické vybavení počítače, software určuje jeho činnost; jejich spolupráci lze vysvětlit na spuštění aplikace, úpravě dokumentu a jeho uložení.
-
Kybernetická bezpečnost
Kybernetická bezpečnost propojuje rozpoznání hrozeb s volbou ochrany účtů, zařízení a dat i s postupem při podezření na jejich napadení.
-
Microsoft Word
Microsoft Word umožňuje vytvářet přehledné dokumenty, jejichž členění a vzhled lze spravovat pomocí odstavců, stylů a automatického obsahu.
-
Internet
Internet propojuje počítačové sítě; na příkladu načtení webové stránky lze vysvětlit, jak spolu souvisejí doménová jména, adresy zařízení a přenos dat.
-
Data, informace a modelování
Význam dat závisí na kontextu; při tvorbě modelu vybíráme vlastnosti a vztahy podle otázky, na kterou má model odpovědět.
-
Počítačová grafika
Rastrové a vektorové zobrazení určují, jak lze obrázek upravovat a zvětšovat; účel použití pomáhá zvolit rozměry, formát a způsob exportu.
-
Software
Software zahrnuje programy, které řídí činnost zařízení a zpracovávají data; operační systém přitom poskytuje prostředí a služby pro běh aplikací.
-
Databáze
Relační databáze propojuje záznamy pomocí klíčů; vhodný návrh tabulek omezuje opakování údajů a umožňuje získávat odpovědi pomocí dotazů.