Coding for KidsCoding for Kids
Luovat TasotHaasteetOpettajan Opas
Äänestä ominaisuuksia
Edistynyt Python-kehityskurssi
Luku
>
Taso

Poikkeuksien käsittely
Poikkeusten käsittely

Tavoite

Pakkaa tarvikkeet laatikoihin ja käsittele mahdolliset virheet poikkeuksien avulla.

On olemassa useita hätävarusteita, jotka on pakattava kiteihin ja säilytettävä laatikoissa myöhempää käyttöä varten. Tämä on melko suoraviivaista ja sen voi toteuttaa käyttäen yleisiä funktioita, joita olet oppinut, mutta joskus asiat eivät mene suunnitelmien mukaan. Ohjelmoinnin aikana olet saattanut huomata, että virheitä ilmestyy ruudulle ja punaiset merkinnät näkyvät editorissa siinä kohdassa, missä ongelma ilmeni. Voit estää tämän määrittämällä try- ja except-koodilohkot.

Näitä koodilohkoja käytetään poikkeuksien asettamiseen ja virheiden sieppaamiseen ennen kuin ne pysäyttävät koodisi. Toimintaperiaate on, että käytät try-lohkoa koodissa, joka on ongelmallinen tai jonka uskot olevan virhealttiimpi, ja except-lohkoa vaihtamaan koodin toiseen, mikäli virhe ilmenee, esimerkiksi:

#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

Aloita hakemalla kaikki kentän materiaalit, joita ovat: vesitölkit, "thread" ja kolme värillistä vilttiä: "blue blanket", "red blanket", "green blanket". Aloita kävelemällä kartan yläosaan ja nappaamalla kolme vilttiä, sitten kävele valon X-merkin luo ja käytä collect()-funktiota noutaaksesi "thread" säiliöstä. Jatka liikkumista kartan alaosaan ja napaa kaikki vesitölkit.

Kun kaikki on kerätty, suuntaa tummalle X-merkillä varustetulle alueelle sinisen maton päällä aloittaaksesi juuri kerättyjen materiaalien asettamisen. Lisää ensin vesi ja thread muuttujiksi, joiden arvot ovat vastaavasti 2 ja 3 yksikköä, kuten näin: water_can = 2 ja thread = 3. Määritä sen jälkeen kitit muuttujina yhdistämällä aiemmin määritellyt muuttujat värillisten vilttien kanssa seuraavassa muodossa:

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

Kun kitit on koottu blue_kit, red_kit ja green_kit -muuttujiin, on aika sijoittaa ne vastaavan värisiin laatikoihin, mutta olet saattanut huomata, että koodi antaa virheen. Mutta miksi? Kaikki näyttää olevan kunnossa ja ohjeita on noudatettu. Joskus, vaikka asiat vaikuttaisivat loogisilta, ne eivät toimi haluamallamme tavalla; tässä tapauksessa et voi laskea yhteen numeroa ja merkkijonoa yhdessä muuttujassa.

Miten korjaamme tämän? Käyttämällä try/except-koodilohkoja siepatakseen virheen ja muuntaakseen sen sopivaksi korvaavaksi arvoksi. Käytä näitä poikkeuksia jokaiselle kolmelle (3) muuttujalle siten, että virheen tapahtuessa koodi vaihdetaan numeeriseen arvoon sen sijaan, että käytettäisiin tiettyä merkkijonoa.

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

Vaikka tässä tapauksessa olemme tietoisia virheestä, on tilanteita, joissa muuttujien sisällä olevat arvot eivät ole yhtä suoraviivaisia tai ne voivat vaihdella tiettyjen ehtojen mukaan, mikä tekee tästä hyödyllisen työkalun virheenkorjaukseen tai ajonaikaisten virheiden hallintaan.

Suorita taso kävelemällä tummille X-merkille värillisillä matoilla, kääntyen laatikoiden suuntaan ja käyttämällä place()-funktiota asettaaksesi vastaavan väriset kit-muuttujat oikeisiin laatikoihin.

Koodikirja