Kurs zur Python-Entwicklung
Kapitel
>
Stufe
Bedingungen
Brechen und Fortfahren Anweisungen
Ziel
Entferne einige Unkräuter im Durchgang zwischen Gebäuden, indem du Schleifenbedingungen verwendest.
Im Durchgang zwischen den Gebäuden wachsen Unkräuter, sammle alle Unkräuter auf und entsorge sie, indem du Schleifen verwendest. Es gibt Möglichkeiten, diesen Prozess durch Schleifenbedingungen zu automatisieren.
Erstelle eine Variable namens bag und verwende sie, um die Unkräuter beim Aufsammeln zu speichern. Verwende eine while-Schleife mit Bedingungen, um den Prozess zu automatisieren. Es gibt insgesamt zehn (10) Unkräuter.
while True: player.move_forward() bag += 1 if bag == 10: break
Indem die while-Schleife auf True gesetzt wird, endet die Schleife nicht, es sei denn, der Operator break wird verwendet, um die Schleife zu beenden. Jede Schleifenrunde fügt dem Sack ein Unkraut hinzu und überprüft, wie viele Unkräuter aufgesammelt wurden, um die Schleife zu verlassen. Die if-Anweisung wird verwendet, um zu prüfen, ob die Schleife break sollte, indem überprüft wird, wie viele Unkräuter sich im bag befinden und die Schleife endet, wenn die Menge erreicht ist.
Nachdem du den Durchgang durchquert hast, verwende eine for-Schleife, um die Unkräuter in Container zu werfen, indem du die place()-Funktion an den X-Markierungen verwendest. Der Abstand zwischen den einzelnen Containern ist jedoch ungleichmäßig, da dazwischen eine Lücke ist. Durch die Verwendung des Operators continue überspringst du eine Schleifenrunde, indem du eine Bedingung über eine if-Anweisung prüfst.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
Im obigen Code prüft die if-Anweisung, ob x, also die Anzahl der Schleifenrunden, 1 ist. Diese for-Schleife läuft drei (3) Mal, wie durch range() definiert, da x bei 0 beginnt, läuft sie 0, 1, 2, bevor die Schleife abgeschlossen wird. Da du überprüfst, ob die Schleifenrunde bei 1 ist, wird der Code unter continue nicht ausgeführt und stattdessen übersprungen, wenn diese Bedingung erfüllt ist. Auf diese Weise können wir die Lücke zwischen den beiden Containern vermeiden, indem wir den mittleren Durchlauf überspringen.
Da es zwei (2) Kisten gibt, verwende die place()-Funktion, um die im bag gespeicherten Unkräuter zu entsorgen, indem die Gesamtmenge geteilt wird, so: player.place(bag/2).
Sobald du die Unkräuter gesammelt und an der richtigen Stelle platziert hast, erreiche den Ausgang, der mit einem Stern markiert ist, um das Level abzuschließen.