Interaktivní procvičování
Programovací svět
Ovládej postavu v mřížkovém světě pomocí bezpečné podmnožiny Pythonu.
Herní kapitola21 misí v 6 kapitolách: od prvních příkazů po rekurzi
V minihře píšeš krátké programy v Pythonu, které vedou postavu mřížkovým světem k cíli.
První mise tě provedou základními příkazy, cykly a podmínkami. Další už nejdou vyřešit naučeným vzorcem - musíš vymyslet obecný postup.
Většina misí ověřuje program i na dalších mapách, které předem nevidíš. Po spuštění si je prohlédneš a uvidíš, na které program selhal.
Když se zasekneš, otevři nápovědu: nejdřív dostaneš jen nápad, další nápovědy prozradí víc.
Kód běží jen v tvém prohlížeči a nikam se neodesílá. Splněné mise i rozepsaný kód si prohlížeč pamatuje.
Procvičuješ
Úkol
Ověření na mapách
Výstup programu
Sem se vypíše text z print().
Tahák
Příkazy postavy a co Python tady umí
move()
Postava udělá jeden krok dopředu, tam kam se dívá. Když je před ní kámen nebo okraj mapy, program skončí chybou.
turn_left()
Postava se otočí o 90° doleva. Zůstane na stejném políčku.
turn_right()
Postava se otočí o 90° doprava. Zůstane na stejném políčku.
front_is_clear()
Vrátí True, když je před postavou volno (žádný kámen ani okraj mapy), jinak False. Postava se nepohne.
at_goal()
Vrátí True, když postava stojí v cíli.
print(hodnota)
Vypíše hodnotu do okna Výstup programu. Hodí se k ladění a v některých misích je potřeba.
for i in range(n):
Zopakuje odsazený blok n-krát; i postupně nabývá hodnot 0, 1, ..., n - 1.
while podmínka:
Opakuje odsazený blok, dokud podmínka platí. Pozor na nekonečný cyklus.
if / elif / else
Provede jen tu větev, jejíž podmínka platí; else se provede, když neplatí žádná.
def jmeno(parametr):
Definuje vlastní funkci. return hodnota ji ukončí a hodnotu vrátí volajícímu.
Můžeš používat
- proměnné, čísla, True a False, text v uvozovkách
- počítání + - * / // % a porovnání == != < > <= >=
- and, or, not
- if / elif / else
- while
- for i in range(...)
- vlastní funkce: def, parametry a return
- print()
Tady nefunguje
- import a knihovny
- seznamy [ ] a slovníky { }
- class, lambda, try / except, with
- global a nonlocal
- input() - program běží bez zadávání z klávesnice
- metody přes tečku, třeba text.upper()
- jména začínající __