Kurs Rozwoju w Pythonie
Rozdział
>
Poziom

Warunki
Instrukcje break i continue

Cel

Usuń chwasty z przejścia między budynkami, korzystając z warunków w pętli.

Przejście między budynkami zarośnięte jest chwastami, zbierz wszystkie chwasty i wyrzuć je, używając pętli. Istnieją sposoby na zautomatyzowanie tego procesu za pomocą warunków pętli.

Utwórz zmienną o nazwie bag i wykorzystaj ją do przechowywania chwastów podczas ich zbierania. Użyj pętli while z warunkami, aby zautomatyzować proces; w sumie jest dziesięć (10) chwastów.

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

Ustawiając pętlę while na True, pętla while nie zakończy się, dopóki operator break nie zostanie użyty, aby zakończyć pętlę. Każdy cykl pętli dodaje chwast do torby i sprawdza, ile chwastów zostało zebranych, aby przerwać pętlę. Instrukcja if jest używana do sprawdzenia, czy pętla powinna się przerwać, czy nie; sprawdza, ile chwastów jest w bag i przerywa, jeśli ilość jest zgodna.

Po przejściu przez przejście, użyj pętli for, aby wyrzucić chwasty do kontenerów, korzystając z funkcji place() w oznaczonych X miejscach. Ilość kroków między każdym kontenerem jest nierówna, ponieważ jest między nimi luka. Używając operatora continue, możesz pominąć cykl pętli, testując warunek za pomocą instrukcji if.

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

W powyższym kodzie instrukcja if sprawdza, czy x, czyli liczba cykli pętli, wynosi 1. Ta pętla for działa trzy (3) razy, jak definiuje range(), ponieważ x zaczyna się od 0, działa 0, 1, 2 przed zakończeniem pętli. Ponieważ sprawdzasz, czy cykl pętli jest przy 1, kod pod continue nie zostanie wykonany i zamiast tego zostanie pominięty, jeśli ten warunek zostanie spełniony. Dzięki temu możemy ominąć lukę między dwoma kontenerami, pomijając środkowy cykl.

Ponieważ są dwie (2) skrzynie, użyj funkcji place(), aby wyrzucić chwasty przechowywane w zmiennej bag, dzieląc całkowitą liczbę umieszczonych, w ten sposób: player.place(bag/2) .

Gdy zbierzesz i umieścisz chwasty we właściwym miejscu, dotrzyj do wyjścia oznaczonego gwiazdką, aby ukończyć poziom.

Księga Kodów