While-silmukat
Tervetuloa while-silmukoiden lukuun! Tässä luvussa tutkimme, kuinka while-silmukoita käytetään tekemään ritarista tehokkaampi kolikoiden keräämisessä. Opimme myös uusia menetelmiä, joiden avulla ritari ymmärtää ympäristöään, sekä kuinka vertailla merkkijonoja Pythonissa.
While-silmukoiden ymmärtäminen
While-silmukka on ohjausrakennelause, jonka avulla koodia voidaan suorittaa toistuvasti annetun totuusarvoehdon perusteella. Silmukan sisällä oleva koodi suoritetaan niin kauan kuin ehto on tosi. Tämä on erityisen hyödyllistä, kun haluat suorittaa toiminnon useita kertoja tietämättä etukäteen, kuinka monta kertaa se täytyy tehdä.
While-silmukan syntaksi
Silmukka suorittaa sisäisen koodilohkon niin kauan kuin ehto on tosi.
1234i = 0 while i < 5: print("Incrementing:", i) i += 1
Ritarin ympäristö
Ritarin navigoinnin helpottamiseksi on käytettävissä useita menetelmiä. object_up()
-metodi antaa ritarin tarkistaa, mitä on suoraan sen yläpuolella olevassa ruudussa. Vastaavasti object_down()
tarkistaa alapuolella olevan ruudun, object_right()
oikealla olevan ruudun ja object_left()
vasemmalla olevan ruudun. Jokainen näistä metodeista palauttaa merkkijonon, joka kuvaa viereisessä ruudussa olevaa objektia, joka voi olla joko "wall"
, "coin"
tai "empty"
.
Merkkijonojen vertailu
Pythonissa voit vertailla merkkijonoja käyttämällä ==
ja !=
-operaattoreita. ==
-operaattori tarkistaa, ovatko kaksi merkkijonoa täsmälleen samat, kun taas !=
-operaattori tarkistaa, ovatko ne eri. Nämä operaattorit ovat hyödyllisiä, kun haluat tehdä päätöksiä ritarin ympäristön perusteella.
Esimerkki
Tarkastellaan esimerkkiä, joka havainnollistaa, kuinka while-silmukkaa käytetään yhdessä ritarin metodien kanssa kolikoiden keräämiseen sarakkeesta:
knight.py
Tässä esimerkissä collect_column
-funktio käyttää while-silmukkaa kerätäkseen kaikki kolikot sarakkeesta. Ritari tarkistaa, onko sen yläpuolella kolikko ja jatkaa poimimista sekä siirtyy ylöspäin, kunnes kolikoita ei enää ole. Keräämisen jälkeen ritari palaa takaisin alkuperäiselle paikalleen.
Swipe to start coding
Ratkaisu
Kiitos palautteestasi!
knight.py
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 2.94
While-silmukat
Pyyhkäise näyttääksesi valikon
Tervetuloa while-silmukoiden lukuun! Tässä luvussa tutkimme, kuinka while-silmukoita käytetään tekemään ritarista tehokkaampi kolikoiden keräämisessä. Opimme myös uusia menetelmiä, joiden avulla ritari ymmärtää ympäristöään, sekä kuinka vertailla merkkijonoja Pythonissa.
While-silmukoiden ymmärtäminen
While-silmukka on ohjausrakennelause, jonka avulla koodia voidaan suorittaa toistuvasti annetun totuusarvoehdon perusteella. Silmukan sisällä oleva koodi suoritetaan niin kauan kuin ehto on tosi. Tämä on erityisen hyödyllistä, kun haluat suorittaa toiminnon useita kertoja tietämättä etukäteen, kuinka monta kertaa se täytyy tehdä.
While-silmukan syntaksi
Silmukka suorittaa sisäisen koodilohkon niin kauan kuin ehto on tosi.
1234i = 0 while i < 5: print("Incrementing:", i) i += 1
Ritarin ympäristö
Ritarin navigoinnin helpottamiseksi on käytettävissä useita menetelmiä. object_up()
-metodi antaa ritarin tarkistaa, mitä on suoraan sen yläpuolella olevassa ruudussa. Vastaavasti object_down()
tarkistaa alapuolella olevan ruudun, object_right()
oikealla olevan ruudun ja object_left()
vasemmalla olevan ruudun. Jokainen näistä metodeista palauttaa merkkijonon, joka kuvaa viereisessä ruudussa olevaa objektia, joka voi olla joko "wall"
, "coin"
tai "empty"
.
Merkkijonojen vertailu
Pythonissa voit vertailla merkkijonoja käyttämällä ==
ja !=
-operaattoreita. ==
-operaattori tarkistaa, ovatko kaksi merkkijonoa täsmälleen samat, kun taas !=
-operaattori tarkistaa, ovatko ne eri. Nämä operaattorit ovat hyödyllisiä, kun haluat tehdä päätöksiä ritarin ympäristön perusteella.
Esimerkki
Tarkastellaan esimerkkiä, joka havainnollistaa, kuinka while-silmukkaa käytetään yhdessä ritarin metodien kanssa kolikoiden keräämiseen sarakkeesta:
knight.py
Tässä esimerkissä collect_column
-funktio käyttää while-silmukkaa kerätäkseen kaikki kolikot sarakkeesta. Ritari tarkistaa, onko sen yläpuolella kolikko ja jatkaa poimimista sekä siirtyy ylöspäin, kunnes kolikoita ei enää ole. Keräämisen jälkeen ritari palaa takaisin alkuperäiselle paikalleen.
Swipe to start coding
Ratkaisu
Kiitos palautteestasi!
Awesome!
Completion rate improved to 2.94knight.py