Python 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 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 Výstup programu, kde píšete odpověď na klávesnici.
- Ve cvičení Porozumění programům máte k dispozici vypracované příklady. Na nich se můžete podívat, jak programy v Pythonu vypadají. 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í.
Pro učitele na SŠ je dispozici stručný metodický text.
Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.
Proměnné a číselné výrazy v Pythonu (lehké)
53 zadání
Typicky zabere: 6 min

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

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

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

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

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

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

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

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

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

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

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

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

Funkce v Pythonu (lehké)
51 zadání
Typicky zabere: 9 min

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Psaná odpověď
Cvičení, ve kterém píšete odpověď na klávesnici.
Proměnné a číselné výrazy v Pythonu (lehké)
29 zadání
Typicky zabere: 5 min

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

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

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

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

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

Porozumění
Prohlédněte si vypracované řešení příkladů v Pythonu či ukázkové modely. Pro každý příklad dostanete několik kontrolních otázek, které otestují vaše porozumění problému.
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.
Kód kostky
Předtím, než se vrhneme na tvorbu vlastních programů, je velmi užitečné si natrénovat čtení a pochopení již vytvořených programů. Kód kostky je elegantní hra zaměřená přesně na tuto dovednost. Madam Kostka a pan Kostka vyráží na procházku po herním plánu. Postupují přesně podle zadaných instrukcí. Vyzkoušejte, zda jim rozumíte!
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
Naprogramujte želvu, aby kreslila pěkné obrázky. Želva rozumí pokynům jako je „jdi dopředu“ či „zatoč doprava“. Programy tvoříte pomocí jazyka Python 3. Pro rozcvičení můžete použít verzi želví grafiky v grafickém programování.
Zájemci najdou více informací o želví grafice v knížce od jednoho z autorů projektu Umíme programovat.
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. Cvičení používá programovací jazyk Python 3.
V tomto cvičení píšete programy, které pracují s textem a čísly. Pokud chcete obrázky, zkuste cvičení Python želva.
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
Počítání s čísly
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
V této úloze je úkolem určit 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. Úlohy jsou připraveny tak, aby byly snadno řešitelné v programovacím jazyku Python. Můžete ale klidně použít i jiné programovací jazyky.