Typy hodnot v Pythonu
Připravit hodinu Všechny formáty
V Pythonu má každá hodnota typ, který určuje, jaké operace s ní lze provádět. Žáci rozlišují celá čísla, čísla typu float, řetězce a logické hodnoty. Při práci s proměnnými volí hodnotu podle toho, zda chtějí počítat, porovnávat, nebo pracovat s textem.
Klikněte a tvořte
Získejte přípravu zdarma
Vyberte formát. Jedním kliknutím otevřete tvorbu na téma Typy hodnot v Pythonu (9. třída) — 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
Výraz 2 + 3 má výsledek 5, zatímco "2" + "3" spojí řetězce do textu "23". Žáci zkoušejí převody pomocí int(), float() a str() a sledují, kdy program ohlásí chybu. Poznatky využijí při práci s proměnnými a podmínkami; chování programu ověřují na různých vstupech a chyby opravují. Souvisí to s výstupy RVP Žák v blokově orientovaném programovacím jazyce vytvoří přehledný program, používá opakování, větvení programu, proměnné. a RVP Žák průběžně ověřuje správnost vytvářeného postupu, zkouší program, opravuje chyby, posoudí efektivitu postupu, programu.
Zvláštní pozornost zaslouží vstup z input(): i zápis čísla tato funkce vrací jako řetězec. Před výpočtem proto žáci ověří, zda vstup potřebují převést a zda má pro zvolený převod vhodný tvar.
Zdroje obrázků
Předpoklady
- Proměnné, přiřazení a aritmetické i porovnávací výrazy v Pythonu
- Podmíněný příkaz
ifa porovnávání hodnot - Funkce a vnořené cykly — předávání hodnot do výpočtu
Klíčové pojmy
- Datový typ
Vlastnost hodnoty, která určuje, jaké operace s ní lze provádět. Typ hodnoty zjistíme funkcí
type().intafloatintje typ celých čísel,floatčísel s pohyblivou řádovou čárkou, například3.14. Operátor/při dělení těchto čísel vracífloat;//zaokrouhluje podíl dolů a%vrací zbytek.strŘetězec je posloupnost znaků, například
"42". Operátor + řetězce spojuje a * s celým číslem řetězec opakuje. Pro číselný výpočet je třeba číselný zápis v řetězci převést.boolLogická hodnota je
TrueneboFalse. Vzniká například porovnáním a lze ji použít v podmínce. HodnotaTruese liší od řetězce"True".- Převod typu
Funkce
int(),float()astr()vytvářejí hodnotu jiného typu, pokud to vstup umožňuje.bool()při převodu vyhodnocuje pravdivost hodnoty. Napříkladint("3.5")skončí chybou,float("3.5")uspěje aint(3.9)odřízne desetinnou část směrem k nule.TypeErroraValueErrorTypeErrormůže nastat při operaci s neslučitelnými typy, například při sčítání čísla a řetězce.ValueErrormůže nastat při převodu hodnoty nevhodného tvaru, napříkladint("ahoj").- Vstup z
input() Funkce
input()vrací řetězec. Má-li program se zadanou hodnotou počítat, musí její číselný zápis převést na číslo.
Nápady na aktivity
-
Kvíz
Typ hodnoty a výsledek výrazu
Žáci vybírají typ hodnot v ukázkách Pythonu a určují, jak se změní výsledek sčítání nebo porovnání podle použitých typů.
-
Odpovědi
Rozpoznej typ hodnoty v Pythonu
Žáci doplňují, zda je daná hodnota číslo, řetězec, nebo logická hodnota, a krátce zapisují výsledek jednoduchého výrazu.
-
Rozřazování
Třídění hodnot podle datového typu
Žáci přetahují ukázky hodnot a výrazů do kategorií čísla, řetězce a logické hodnoty. U výrazů rozhodují podle výsledného typu.
-
Doplňování
Typy hodnot při práci se vstupem
Žáci doplňují do krátkých ukázek kódu, jaký typ má vstup a jak se změní po převodu na číslo. Sledují, proč se textový vstup a číselná hodnota chovají odlišně.
-
Rozhodování
Co Python porovnává a sčítá?
Žáci rozhodují, zda lze ve vybraných ukázkách hodnoty porovnat nebo sečíst, a volí výsledek podle jejich typu.
-
Logický řetěz
Od vstupu k výsledku v Pythonu
Žáci skládají navazující kartičky, které propojují textový vstup, jeho převod na číslo a následný výpočet nebo porovnání.
Časté miskoncepce
Častá chyba
Žák napíše
soucet = input("a") + input("b")a po zadání 3 a 4 očekává výsledek 7. Program vytvoří řetězec"34".Jak na to
Nechte žáky zjistit typ obou vstupů pomocí
type(). Pak vstupy před sčítáním převeďte pomocíint()nebofloat()a výsledky porovnejte.Častá chyba
Žák po přiřazení
vek = 15očekává, že podmínkaif vek == "15"bude pravdivá.Jak na to
Porovnejte
type(vek)atype("15"). Číslo 15 a řetězec"15"se nerovnají; před porovnáním je třeba použít hodnoty odpovídajících typů.Častá chyba
Žák použije
int("3,14")nebo zapíše desetinné číslo s čárkou a očekává číselnou hodnotu 3,14.Jak na to
V číselném zápisu Python používá desetinnou tečku. Textový vstup s desetinnou čárkou lze před převodem pomocí
float()upravit nahrazením čárky tečkou.Častá chyba
Žák očekává, že
bool("False")nebobool("0")vrátíFalse, protože tak čte obsah řetězce.Jak na to
Porovnejte
bool(""),bool("False"),bool(0)abool("0"). Prázdný řetězec a nula se vyhodnotí jakoFalse, oba neprázdné řetězce jakoTrue.
Úkoly pro žáky
U krátkých skriptů se sčítáním vstupů, porovnáním věku a výpočtem průměru žáci určují typy hodnot, předpovídají chování programu a opravují potřebné převody.
Karty s hodnotami 42, 3.14,
"42",Truea"True"žáci přiřazují k typům, které vracítype(). U každé hodnoty posoudí, která z nabízených operací dává smysl a která vyvolá chybu.
Hodnocení
Žák u zadaného úryvku určí typy hodnot, předpoví výstup nebo chybu a případnou chybu opraví vhodným převodem.
Žák v programu načte dvě číselné hodnoty, vypočítá jejich součet, spojí jejich zápisy jako text a pomocí if porovná jejich číselné hodnoty. Výsledky ověří na různých vstupech.
Související témata
- Python: proměnné a výrazy
- Python: podmíněný příkaz if
- Slovníky a struktury v Pythonu
- Efektivita algoritmu a ladění
- Rozklad problému na části
Očekávané výstupy
- RVP · 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é.
- RVP · INF-INF-002-ZV9-008 Průběžně ověřuje správnost vytvářeného postupu, zkouší program, opravuje chyby, posoudí efektivitu postupu, programu.
Zdroje
Učíte Typy hodnot 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
-
Informační systémy
Informační systém propojuje údaje, lidi a pravidla práce; na příkladu knihovny lze ukázat, jak zápis výpůjčky ovlivní informace dostupné jednotlivým uživatelům.
-
Bezpečnost na internetu
Bezpečnost na internetu zahrnuje ochranu účtů a soukromí, ověřování podezřelých zpráv a přivolání pomoci při obtěžování nebo zneužití údajů.
-
Počítačové sítě
Počítačové sítě propojují zařízení pro přenos dat a sdílení služeb; na modelu školní sítě lze vysvětlit cestu dat i rozdíl mezi místním spojením a přístupem k internetu.
-
Práce s daty
Sběr, uspořádání a porovnávání údajů v tabulce pomáhá odpovídat na otázky a rozlišovat, co lze ze zaznamenaných dat zjistit.
-
Kyberbezpečnost
Ochrana účtů, zařízení a dat spojuje rozpoznání podvodných požadavků, vhodná preventivní opatření a bezpečnou reakci při podezření na napadení.
-
Digitální stopa
Digitální stopa vzniká zveřejňováním obsahu i používáním internetových služeb; její dopady závisí na tom, kdo údaje získá, propojí a dále sdílí.
-
Šifrování
Šifrování mění zprávu podle klíče; na posunu písmen žáci poznají rozdíl mezi znalostí postupu, znalostí klíče a možností šifru prolomit.
-
Excel
Excel umožňuje uspořádat údaje do tabulky, propojit je vzorci a zobrazit v grafu; základem je rozumět tomu, jak změna vstupních hodnot ovlivní výsledek.