Programovací jazyk Python
MSZPython je v současnosti nejoblíbenější programovací jazyk pro výuku programování. Není to však jen výukový jazyk, je také široce prakticky používaný. Na Umíme programovat používáme Python 3.
Pokud s Pythonem začínáte, může se hodit náš přehled základní syntaxe (jeden list A4 k vytištění).
Pokud chcete v Pythonu více programovat, doporučujeme nainstalovat si ho na vlastní počítač. Nicméně na to, abyste se naučili základy programování v Pythonu, vystačíte i s prohlížečem. Na Umíme programovat nabízíme spoustu cvičení a příkladů, které můžete řešit přímo na stránkách:
- Pro úplné začátky zkuste cvičení Rozhodovačka, kde pouze vybíráte z nabízených možností. Jak se trochu rozcvičíte, můžete zkusit Psaná odpověď, kde píšete odpověď na klávesnici.
- Čtení kódu si můžete procvičit ve cvičení Kód kostky, kde je vaším úkolem správně vykonat uvedený program. Další vypracované příklady programů v Pythonu najdete ve cvičení Porozumění. Ke každému příkladu je připravena série kontrolních otázek, pomocí kterých si můžete prověřit, jak programu rozumíte.
- Především si však zkuste samostatné programování. K tomu slouží cvičení Programování v Pythonu a Python želva. Program píšete přímo v prohlížeči, kde si ho můžete i spustit a hlavně automaticky otestovat, zda je správně.
Pro úplné začátečníky doporučujeme jako rozcvičku příklady ze sekce algoritmické myšlení, kde si lze základní koncepty vyzkoušet formou grafického programování.
Inspirace pro učitele
Pro učitele na SŠ je dispozici stručný metodický text.
Konkrétní inspiraci pro začlenění do výuky pak nabízí výukové moduly, které poskytují náměty, jakým způsobem učivo procvičovat a v jakém pořadí:
- Programování v Pythonu: základy – první kroky s programováním v Pythonu.
- Programování v Pythonu: datové typy – navazující modul, důraz na využití datových typů (řetězce, seznamy, slovníky).
Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.
Proměnné a číselné výrazy v Pythonu (lehké)
zadání: 57
Typicky zabere: 6 min

Proměnné a číselné výrazy v Pythonu (střední)
zadání: 54
Typicky zabere: 9 min

Matematické funkce v Pythonu (střední)
zadání: 24
Typicky zabere: 6 min

Logické výrazy v Pythonu (lehké)
zadání: 71
Typicky zabere: 8 min

Logické výrazy v Pythonu (střední)
zadání: 94
Typicky zabere: 10 min

Logické výrazy v Pythonu (těžké)
zadání: 83
Typicky zabere: 12 min

Proměnné a výrazy: mix (lehké)
zadání: 128
Typicky zabere: 5 min

Proměnné a výrazy: mix (střední)
zadání: 148
Typicky zabere: 8 min

Podmíněný příkaz (if) v Pythonu (lehké)
zadání: 43
Typicky zabere: 8 min

Podmíněný příkaz (if) v Pythonu (střední)
zadání: 46
Typicky zabere: 14 min

Cyklus for v Pythonu (lehké)
zadání: 45
Typicky zabere: 9 min

Cyklus for v Pythonu (střední)
zadání: 46
Typicky zabere: 11 min

Cyklus while v Pythonu (lehké)
zadání: 44
Typicky zabere: 10 min

Cyklus while v Pythonu (střední)
zadání: 48
Typicky zabere: 13 min

Funkce v Pythonu (lehké)
zadání: 34
Typicky zabere: 8 min

Funkce v Pythonu (střední)
zadání: 55
Typicky zabere: 10 min

Funkce v Pythonu (těžké)
zadání: 74
Typicky zabere: 14 min

Řízení výpočtu: mix (lehké)
zadání: 166
Typicky zabere: 8 min

Řízení výpočtu: mix (střední)
zadání: 195
Typicky zabere: 10 min

Přehled datových typů (lehké)
zadání: 73
Typicky zabere: 5 min

Přehled datových typů (střední)
zadání: 80
Typicky zabere: 10 min

Řetězce v Pythonu (lehké)
zadání: 49
Typicky zabere: 6 min

Řetězce v Pythonu (střední)
zadání: 53
Typicky zabere: 7 min

Řetězce v Pythonu (těžké)
zadání: 54
Typicky zabere: 12 min

Seznamy v Pythonu (lehké)
zadání: 67
Typicky zabere: 6 min

Seznamy v Pythonu (střední)
zadání: 86
Typicky zabere: 8 min

Seznamy v Pythonu (těžké)
zadání: 80
Typicky zabere: 13 min

Slovníky v Pythonu (lehké)
zadání: 21
Typicky zabere: 7 min

Objekty v Pythonu (střední)
zadání: 13
Typicky zabere: 6 min

Datové typy: mix (lehké)
zadání: 137
Typicky zabere: 5 min

Pexeso
Hledání dvojic, které k sobě patří.
Proměnné a číselné výrazy v Pythonu (střední)
zadání: 6
Typicky zabere: 5 min

Logické výrazy v Pythonu (střední)
zadání: 4
Typicky zabere: 8 min

Přehled datových typů (střední)
zadání: 6
Typicky zabere: 3 min

Porozumění
Čtení textů, odpovídání na otázky testující porozumění textu.
Vnořené cykly v Pythonu
Vnořené cykly jsou typický zdroj problémů pro začátečníky v programování. Prozkoumejte několik typických ukázek jejich využití.
Funkce v Pythonu
Tato sada s motivem přípravy jídla vám pomůže prozkoumat záludnosti správného využití funkcí.
Řetězce v Pythonu
Řešené příklady na práci s řetězci v Pythonu.
Seznamy v Pythonu
Řešené příklady na práci se seznamy v Pythonu.
Slovníky v Pythonu
Řešené příklady na práci se slovníky v Pythonu.
Objekty v Pythonu
Řešené příklady na práci s objekty v Pythonu.
Počítání s čísly
Řešené příklady na práci s čísly v Pythonu.
Psaná odpověď
Cvičení, ve kterém píšete odpověď na klávesnici.
Proměnné a číselné výrazy v Pythonu (lehké)
zadání: 29
Typicky zabere: 5 min

Podmíněný příkaz (if) v Pythonu (lehké)
zadání: 13
Typicky zabere: 5 min

Řetězce v Pythonu (lehké)
zadání: 21
Typicky zabere: 4 min

Seznamy v Pythonu (střední)
zadání: 21
Typicky zabere: 4 min

Slovníky v Pythonu (střední)
zadání: 18
Typicky zabere: 6 min

Datové typy: mix (střední)
zadání: 39
Typicky zabere: 4 min

Kód kostky
Navigujte kostku po plánu podle zadaného programu. Procvičení schopnosti číst programy.
Kostky v Pythonu: rozcvička
Kostky jsou pokrokové a umí i programovací jazyk Python.
Kostky v Pythonu: for cyklus
Základní využití for cyklu v Pythonu je pro opakování nějaké posloupnosti příkazů.
Kostky v Pythonu: while cyklus
Cyklus while v Pythonu odpovídá cyklu „opakuj dokud“.
Kostky v Pythonu: funkce
Pomocí nových funkcí rozšíříme kostkám slovníček a hned zvládnou provádět složitější manévry.
Kostky v Pythonu: cykly a proměnné
Teď si bude potřeba navíc pamatovat hodnoty proměnných. U toho se navíc nesmíme zamotat v cyklech.
Python želva
Tvorba programů v Pythonu, kreslení obrázků želví grafikou.
Základy
Pro začátek využijeme jen základní příkazy pro posun a zatáčení a nakreslíme pár jednoduchých obrázků.
Opakování
Nyní využijeme opakování (pomocí for cyklu v Pythonu), což nám umožní snadno vykreslit třeba různé geometrické útvary.
Proměnné
Nyní přidáme proměnné, které nám umožní kreslit obrazce různé velikosti či zatáčet o proměnlivý úhel. To se hodí třeba na pěkné spirály.
Vnořené cykly a zajímavé vzory
Želví grafikou jdou kreslit různé zajímavé vzory. Často to jde snadno, jen je potřeba se na obrázek správně podívat.
Funkce
Želvu můžeme učit nové příkazy – na tom si dobře procvičíme funkce v Pythonu a navíc již vykreslíme zajímavé obrázky.
Funkce II
Ladění programů
V této sadě máte již připravený program, ve kterém jsou jen drobné chyby. Stačí je najít a opravit.
Proměnné a podmínky
V této sadě se želva bude rozhodovat podle aktuální hodnoty proměnných.
Záludné
Úlohy, které jdou vesměs řešit krátkým programem, je ale potřeba k nim přistoupit tím správným způsobem.
Správné úhly
Na následující obrázky nepotřebujeme žádné složité programy, musíme ale správně určit úhly. Zkuste správnou velikost úhlů vymyslet, ne jen náhodně tipovat.
Programování v Pythonu
Programování přímo v prohlížeči, s automatickým vyhodnocením správnosti programu.
Proměnné a číselné výrazy
Logické výrazy
Podmíněný příkaz (if): základy
Sada příkladů na základní if-else podmínky v Pythonu.
Podmíněný příkaz (if): těžší
Sada mírně pokročilejších příkladů na podmínky. V této sadě se využije i if-elif-else, případně vnořené podmínky.
Cyklus for
Cyklus for s vnořenou podmínkou
V této sadě jsou příklady, které se řeší pomocí cyklu for s vnořenou podmínkou (if).
Cyklus while
Úpravy programů
V této sadě máte k dispozici připravené programy, které je potřeba pochopit a mírně upravit.
Záludné
Tato sada obsahuje mix příkladů na různá témata. Příklady jdou stále řešit docela krátkými programy, ale mohou již potrápit trochu více než příklady v ostatních sadách.
Řetězce: základy
Příklady s řetězci: základní indexování a jednoduché operace, použití návodných kódů.
Řetězce: těžší
Sada mírně náročnějších příkladů s řetězci. Všechny jsou stále řešitelné na pár řádků kódu, pokud využijete správný přístup.
Seznamy
Slovníky
Seznamy a řetězce: vnořené
Příklady v této sadě používají vnořené datové struktury: seznamy řetězců a seznamy seznamů.
Posloupnosti
Řízení výpočtu
V této sadě si procvičíme počítání s čísly: od jednoduchých výpisů až po některé klasické algoritmy.
Textové obrázky
V této sadě budeme vykreslovat „obrázky“ pomocí textových znaků (někdy označováno jako „ASCII art“). Tyto příklady slouží především pro procvičení vnořených cyklů.
Programátorská úkolovka
Určete tajný kód pomocí výpočtu. Jak výpočet provedete, záleží jen na vás, jako odpověď zadáváte pouze výsledný kód.