Coding for KidsCoding for Kids
Kreativní ÚrovněVýzvyPrůvodce pro Učitele
Hlasovat pro funkce
Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň

Zpracování výjimek
Ošetřování výjimek

Cíl

Zabalte zásoby do krabic a zachyťte případné chyby pomocí výjimek.

Existuje několik nouzových zásob, které je třeba zabalit do sad a uložit do beden pro pozdější použití. Udělání toho je docela jednoduché a lze to zvládnout pomocí běžných funkcí, které jste se naučili, nicméně se někdy věci nevyvíjejí podle plánu. Při programování jste si možná všimli, že se na obrazovce občas objeví chyby a v editoru se objeví červené značky tam, kde došlo k problému. To můžete zmírnit nastavením bloků kódu try a except.

Tyto bloky kódu se používají k nastavení výjimek a k zachycení chyb, než zastaví váš kód. Jak to funguje: použijete try na kód, který je problematický nebo může mít tendenci k chybám, a použijete except k nahrazení kódu jiným kódem, pokud dojde k chybě, například:

#The try code block attempts to run a code try: number + number + string #This code yeilds an error, you can't sum numbers with string except: #If an error occurs the except code block is run instead number + number + number #The code is switched out by a sum of three numbers instead

Začněte tím, že vyzvednete všechny materiály na poli, a to: plechovky s vodou, "thread" a tři barevné deky: "blue blanket", "red blanket", "green blanket". Nejprve se vydejte na vrchol mapy a seberte tři deky, poté jděte k lehkému označení X a použijte funkci collect() k získání "thread" z kontejneru. Následně se vydejte na spodek mapy a seberte všechny plechovky s vodou.

Jakmile máte vše sesbíráno, vydejte se k tmavému označení X přes modrý koberec, abyste začali umisťovat právě sebrané materiály. Nejprve přidejte vodu a thread do proměnných s hodnotami 2 a 3, respektive, takto: water_can = 2 a thread = 3. Poté vytvořte sady jako proměnné tak, že sečtete dříve vytvořené proměnné s barevnými dekami v následujícím formátu:

blue_kit = water_can + thread + "blue blanket" red_kit = water_can + thread + "red blanket" green_kit = water_can + thread + "green blanket" # Add all elements together into kits for ease of storage

Jakmile jsou sady sestaveny v proměnných blue_kit, red_kit a green_kit, je čas je umístit do beden odpovídající barvy, nicméně jste si možná všimli, že kód hází chybu. Ale proč? Všechno je tak, jak má být a instrukce byly dodrženy. Někdy, i když je to intuitivní, věci nefungují tak, jak bychom chtěli, v tomto případě nemůžete sečíst číslo s řetězcem v proměnné.

Tak jak to napravíme? Použitím bloků kódu try / except k zachycení chyby a přeměně na vhodnou náhradu. U každé ze tří (3) proměnných použijte tyto výjimky, které v případě chyby nahradí kód číselnou hodnotou místo konkrétního řetězce.

try: blue_kit = water_can + thread + "blue blanket" except: blue_kit = water_can + thread + 1

I když v tomto případě jsme si vědomi chyby, existují situace, kdy hodnoty uvnitř proměnných nemusí být tak přímočaré nebo se mohou lišit v závislosti na určitých podmínkách, což činí tento nástroj užitečným pro odstraňování problémů nebo zachytávání chyb během běhu programu.

Dokončete úroveň tak, že se vydejte k tmavým značkám X přes barevné koberce, postavte se proti bednám a pomocí funkce place() umístěte proměnné sady odpovídající barvy do správných beden.

Kniha Kódu