Datové typy v Pythonu

Žáci v Pythonu prohloubí práci s datovými typy, rozlišují čísla, řetězce a logické hodnoty a volí vhodný typ pro uložení i výpočet.

Průvodce tématem Datové typy 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 Datové typy 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 v textovém Pythonu prohloubí práci s datovými typy: rozlišují celá a desetinná čísla, řetězce a logické hodnoty a volí typ podle toho, co mají uložit a jak s tím mají počítat. Navazují na proměnné a výrazy, podmínky a funkce; cílem není výčet všech vestavěných typů, ale jistota, že operace dává smysl jen u správného typu.

V hodině žáci pozorují, jak se stejný zápis chová jinak u čísla a u řetězce (součet versus spojení), jak převod `int`/`float`/`str`/`bool` změní výsledek a kdy program spadne na TypeError. Tím naplňují INF-INF-002-ZV9-007 (přehledný program s proměnnými a větvením) a INF-INF-002-ZV9-008 (zkoušení programu, oprava chyb, posouzení, zda postup počítá, nebo jen skládá text).

Slovníky a složitější struktury necháme na navazující jednotku; zde stačí skalární typy a vědomá volba typu před výpočtem, porovnáním a výpisem.

Předpoklady

Klíčové pojmy

Datový typ
Určuje, jakou hodnotu proměnná drží a které operace s ní dávají smysl; v Pythonu ho zjistíme funkcí type().
int a float
Celé číslo (int) a desetinné číslo (float); dělení / dává float, celočíselné // a zbytek % patří k int.
str
Řetězec je posloupnost znaků v uvozovkách; + spojuje text, * opakuje text, nečíslo se nesčítá, dokud ho nepřevést.
bool
Logická hodnota True/False vzniká porovnáním nebo logickými spojkami; slouží k větvení, není to text „True“.
Převod typu
int(), float(), str(), bool() změní podobu hodnoty; int("3.5") selže, float("3.5") projde, int(3.9) ořízne desetinnou část.
TypeError a ValueError
TypeError při operaci mezi neslučitelnými typy (číslo + řetězec); ValueError při převodu, který z textu číslo neudělá (int("ahoj")).
Vstup z input()
input() vždy vrací str; než s odpovědí počítáme, musíme ji převést, jinak skládáme text, ne sčítáme čísla.

Časté miskoncepce

  • Častá chyba

    Žák napíše soucet = input("a") + input("b") a čeká 7, když zadal 3 a 4; dostane "34".

    Jak na to

    Nechte oba vstupy vypsat s type(); pak přidejte int() nebo float() před sčítáním a porovnejte výpisy vedle sebe.

  • Častá chyba

    Žák píše if vek == "15" po vek = 15 (nebo naopak číslo v uvozovkách) a větev se nespustí.

    Jak na to

    Vypište type(vek) i type("15") a ukažte, že porovnání různých typů není „skoro stejné číslo“; sjednoťte typ před if.

  • Častá chyba

    Žák použije int("3,14") nebo čárku v kódu jako desetinné číslo a program spadne nebo se chová jinak než čeká.

    Jak na to

    Na tabuli oddělte český zápis ve škole a tečku ve float; opravte vstup replace(",", ".") nebo rovnou tečku v literálu.

  • Častá chyba

    Žák si myslí, že bool("False") nebo bool("0") je False, protože „to vypadá jako nepravda“.

    Jak na to

    Spusťte bool(""), bool("False"), bool(0), bool("0") a stručně: prázdný řetězec a nula jsou nepravda, neprázdný text je pravda.

Jak učit

2–3 hodiny

  1. Evokace: ukažte dva výpisy 2+3 a "2"+"3" a zeptejte se, proč je jednou 5 a jednou 23.
  2. Jádro: společně třídíte hodnoty do int/float/str/bool, převádíte input a opravujete TypeError ve krátkém skriptu s if.
  3. Reflexe: žáci u vlastního programu napíší ke každé proměnné typ a jednu větu, proč ho zvolili.

Nápady na aktivity

  • Stanoviště „oprav TypeError“: tři krátké skripty (sčítání vstupů, porovnání věku, výpočet průměru) — u každého pojmenovat typ a dopsat převod.
  • Karty hodnot (42, 3.14, "42", True, "True") žáci přiřadí k type() a navrhnou jednu smysluplnou operaci a jednu zakázanou.

Hodnocení

Žák u zadaného úryvku určí typ každé proměnné, predikuje výstup nebo chybu a program opraví převodem typu.

Krátký úkol: načti dvě čísla, spočti součet i spojení jako text, větev if podle porovnání čísel (INF-INF-002-ZV9-007, INF-INF-002-ZV9-008).

Související témata

Zdroje

Co pro vás ScioBot připraví k tématu Datové typy 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 Datové typy v Pythonu jedním klikem.

Základní materiály

Interaktivní aktivity 14

K tisku a rozstříhání 8

Hry pro celou třídu 4

Očekávané výstupy

  • 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é.
  • INF-INF-002-ZV9-008 Průběžně ověřuje správnost vytvářeného postupu, zkouší program, opravuje chyby, posoudí efektivitu postupu, programu.

Učíte Datové typy 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