Kurz vývoje v Pythonu
Kapitola
>
Úroveň
Podmínky
Příkazy break a continue
Cíl
Vyčistit plevele v průchodu mezi budovami pomocí podmínek smyčky.
V průchodu mezi budovami rostou plevele, sesbírejte všechny plevele a zlikvidujte je pomocí cyklů. Existují způsoby, jak tento proces automatizovat pomocí podmínek smyčky.
Vytvořte proměnnou nazvanou bag a použijte ji k uchovávání plevelů, které sbíráte. Použijte while smyčku s podmínkami k automatizaci procesu, celkem je deset (10) plevelů.
while True: player.move_forward() bag += 1 if bag == 10: break
Nastavením smyčky while na True se smyčka nebude ukončovat, dokud nebude použit operátor break k jejímu přerušení. Každý cyklus smyčky přidá do tašky jeden plevel a kontroluje, kolik plevelů už bylo nasbíráno, aby se smyčka ukončila. Příkaz if se používá k ověření, zda by se smyčka měla přerušit pomocí break, kontroluje počet plevelů v proměnné bag a přeruší smyčku, pokud je dosažen požadovaný počet.
Po projetí průchodu použijte for smyčku k vykládání plevelů do kontejnerů pomocí funkce place() na označených místech. Počet kroků mezi jednotlivými kontejnery je nerovnoměrný, protože mezi nimi je mezera. Použitím operátoru continue přeskočíte jeden cyklus smyčky kontrolou podmínky pomocí příkazu if.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
V uvedeném kódu příkaz if kontroluje, zda x, což je počet cyklů smyčky, dosáhl hodnoty 1. Tato for smyčka běží třikrát (3) dle definice v range(), protože x začíná na 0, a běží pro hodnoty 0, 1, 2 před dokončením cyklu. Jelikož kontrolujete, zda je cyklus na hodnotě 1, kód pod continue se nespustí a bude přeskočen, pokud je tato podmínka splněna. Tímto se vyhnete mezeře mezi dvěma kontejnery, protože přeskočíte prostřední cyklus.
Jelikož jsou zde dvě (2) bedny, použijte funkci place() k vyložení plevelů uložených v proměnné bag tím, že celkový počet vydělíte, například: player.place(bag/2).
Jakmile sesbíráte a umístíte plevele na správné místo, dosáhněte východu označeného hvězdou a dokončete úroveň.