Pythonutviklingskurs
Kapittel
>
Nivå

Betingelser
Break og Continue-setninger

Målsetning

Fjern noe ugress i passasjen mellom bygningene ved hjelp av løkkebetingelser.

Passasjen mellom bygningene har ugress som vokser. Samle alt ugresset og kast det ved hjelp av løkker. Det finnes måter å automatisere denne prosessen på ved bruk av løkkebetingelser.

Lag en variabel ved navn bag og bruk den til å lagre ugresset mens du plukker det opp. Bruk en while-løkke med betingelser for å automatisere prosessen; det er ti (10) ugress i alt.

while True: player.move_forward() bag += 1 if bag == 10: break

Ved å sette while-løkken til True vil ikke løkken avsluttes med mindre operatøren break brukes for å avslutte løkken. Hver løkkesyklus legger til et ugress i posen og sjekker hvor mange ugress som er plukket opp for å bryte løkken. if-setningen brukes for å sjekke om løkken skal break eller ikke; den sjekker hvor mange ugress som er i bag og bryter løkken dersom antallet er nådd.

Etter å ha navigert gjennom passasjen, bruk en for-løkke for å kaste ugresset i beholderne ved hjelp av funksjonen place() der X er markert. Antall skritt mellom hver beholder er ujevnt ettersom det er et gap i mellom. Ved å bruke operatøren continue hopper du over en løkkesyklus ved å teste en betingelse med en if-setning.

for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()

I koden over sjekker if-setningen om x, som representerer antall løkkesykluser, er lik 1. Denne for-løkken kjører tre (3) ganger slik det er definert av range(), siden x starter på 0, kjører den 0, 1, 2 før løkken er fullført. Siden du sjekker om løkkesyklusen er på 1, vil koden under continue ikke kjøre, men i stedet hoppes over dersom den betingelsen er oppfylt. Med dette kan vi unngå gapet mellom de to beholderne, ved å hoppe over den midterste syklusen.

Siden det er to (2) kasser, bruk funksjonen place() for å kaste ugresset som er lagret i variabelen bag ved å dele den totale mengden, slik: player.place(bag/2).

Når du har samlet og plassert ugresset på riktig sted, nå utgangen merket med en stjerne for å fullføre nivået.

Kodebok