Skip to main content

Lektion 2: Ablauf eines Projekts mit einer For-Schleife

Wenn ein Projekt eine for-Schleife verwendet, folgt es bei der Ausführung der Befehle immer noch der gleichen Logik. Zum Beispiel führen diese beiden Codebeispiele dazu , dass sich der VR-Roboter auf die gleiche Weise bewegt. Das Projekt mit der  for-Schleife wiederholt dazu jedoch die beiden Drivetrain-Befehle viermal.

Zwei Codeausschnitte, die in einem Quadrat nebeneinander angezeigt werden, um den Unterschied zwischen der Verwendung der for-Schleife und nicht zu veranschaulichen. Die linke hat keine for-Schleife und hat den Antrieb für und die Drehung für Befehle, die jeweils viermal wiederholt werden. Der auf der rechten Seite hat eine for-Schleife und rote Pfeile in einem kreisförmigen Muster mit den Worten 4 Mal in ihnen, was darauf hinweist, dass die for-Schleife bewirkt, dass der Antrieb für und die Drehung für Befehle viermal wiederholt wird.

Eine for-Schleife wird verwendet, um eine Reihe von Befehlen eine bestimmte Anzahl von Malen zu wiederholen. Die for -Schleife wiederholt sich (auch als Iterationen bezeichnet) über die darin enthaltene Befehlssequenz. In einer Python for -Schleife wird die Variable 'value' verwendet, um die aktuelle Iteration zu verfolgen, und das Schlüsselwort 'in' verwendet die  Bereichsfunktion, um die Anzahl der Iterationen anzugeben. Aufschlüsselung der Syntax einer for-Schleife, die mit Text über jedem Wort im Befehl angezeigt wird, um ihre Funktion zu identifizieren. Das erste Wort für hat den Text, der die Schleife" darüber "identifiziert. Das zweite Wort, Wert, hat den Text: "Identifiziert die Variable (wie oft hat sie die Schleife durchlaufen?). Das dritte Wort, in, hat den Text "Verbindet die Variable mit der Liste (Bereich). Das letzte Wort ist Bereich mit dem Parameter 10 in Klammern. Der obige Text lautet: "Identifiziert die Liste (Wie oft wird sie durch die Schleife iteriert?).

Die Bereichsfunktion gibt an, wie oft die Schleife iteriert (oder wiederholt) werden soll. Um die Verhaltensweisen für die gewünschte Anzahl von Malen zu wiederholen, stellen Sie den Parameter der Bereichsfunktion ein.

Die Bereichsfunktion erstellt im Wesentlichen eine temporäre Liste, die angibt, was die Schleife durchlaufen soll, um vervollständigt zu werden. Im Falle sich wiederholender Verhaltensweisen, wie das Zeichnen der vier Seiten eines Quadrats, verwendet die Bereichsfunktion eine temporäre Liste von (0, 1, 2, 3), um dem VR-Roboter zu ermöglichen, diese Befehle viermal auszuführen. Die Bewegung des VR-Roboters ändert sich in Abhängigkeit vom Parameter der Bereichsfunktion, wie hier gezeigt. 

VEXcode-Projekt zur Veranschaulichung der Bereichsfunktion. Es liest def main open parenthesis close parenthesis colon next line, die eingerückt ist liest pen dot move open parenthesis down close parenthesis next line for value in range open parenthesis 0 close parenthesis colon next line, die eingerückt ist liest drivetrain dot drive undercore for open parenthesis forward, 600, MM close parenthesis next line drivetrain dot turn undercore for open parenthesis right, 90, degree close parenthesis next line wait open parenthesis five comma M S E C). Art Canvas Playground mit dem Roboter in der Mitte. Antriebsstrangbefehle werden 0 Mal ausgeführt.
Das gleiche Projekt wie oben, aber mit 1 im Parameter der Bereichsfunktion. Kunst Leinwand Spielplatz mit Projekt, um eine Seite eines Quadrats komplett zu zeichnen. Antriebsstrangbefehle werden 1 Mal ausgeführt.
Das gleiche Projekt wie oben, aber mit 2 im Parameter der Bereichsfunktion. Art Canvas Playground zeigt, dass der Roboter die ersten beiden Seiten des Quadrats gezeichnet hat. Antriebsstrangbefehle werden 2 Mal ausgeführt.
Das gleiche Projekt wie oben, aber mit 3 im Parameter der Bereichsfunktion. Art Canvas Playground zeigt, dass der Roboter drei Seiten des Quadrats gezeichnet hat. Antriebsstrangbefehle werden 3-mal ausgeführt.
Das gleiche Projekt wie oben, aber mit 4 im Parameter der Bereichsfunktion. Art Canvas Playground zeigt, dass der Roboter alle vier Seiten des Quadrats gezeichnet hat. Die Befehle des Antriebsstrangs werden 4 Mal ausgeführt und vervollständigen alle 4 Seiten des Quadrats.

 

Das gleiche Projekt wie oben, aber mit 5 im Parameter der Bereichsfunktion.

Art Canvas Playground zeigt, dass der Roboter alle vier Seiten des Quadrats gezeichnet und dann wieder über die erste Seite gezeichnet hat. Die Befehle des Antriebsstrangs werden 5 Mal ausgeführt, wobei das Quadrat vervollständigt wird, und dann wird die erste Seite erneut nachverfolgt.

Beachten Sie, dass sich die gezeichnete Form des Quadrats nicht geändert hat, als sich die  Bereichsfunktion von vier auf fünf änderte; aber die endgültige Position des VR-Roboters hat sich geändert. Daher würde die Verwendung einer  for-Schleife mit der Standardbereichsfunktion von zehn dazu führen, dass die gleiche quadratische Form gezeichnet wird, aber der VR-Roboter würde die Verhaltensweisen weitere sechs Mal wiederholen. 

Der VR-Roboter durchläuft die Befehle vom für -Schleifenkopf bis zum letzten eingerückten Befehl. Der for-Schleifen-Header  zeigt an, dass der VR-Roboter die Aktionen innerhalb der Schleife die angegebene Anzahl von Malen wiederholen sollte, bevor er mit dem nächsten Befehl außerhalb der for-Schleife fortfährt. Die eingerückten Linien geben an, welche Befehle sich innerhalb der for-Schleife befinden und wiederholt werden sollten.

Zur Kenntnisnahme

In VEXcode VR wird immer ein wait-Befehl mit der  for-Schleife hinzugefügt. Der Zweck des Wait-Befehls besteht darin, sicherzustellen, dass VEXcode VR das Projekt aufgrund der webbasierten Natur der VEXcode VR-Plattform ordnungsgemäß ausführen kann. Der wait -Befehl sollte niemals gelöscht werden, wenn eine for -Schleife verwendet wird, oder Ihr Projekt wird möglicherweise nicht wie beabsichtigt ausgeführt.

Für Schleife mit einem Wartebefehl.

Die angegebene Häufigkeit, mit der die for -Schleife ausgeführt wird, ermöglicht es dem Projekt, aus der for -Schleife herauszufließen, wenn die erforderlichen Iterationen abgeschlossen sind. Der Parameter der  Bereichsfunktion in der for-Schleife muss erreicht sein, bevor das Projekt zum nächsten Befehl außerhalb der Schleife übergeht. Im folgenden Codebeispiel wird das Projekt, sobald die Drivetrain-Befehle in der  for-Schleife viermal ausgeführt wurden, aus der  for-Schleife herausfahren, die Stiftfarbe auf Rot einstellen und rückwärts fahren. Das VEXcode-Projekt von oben, wobei 4 im Bereichsparameter mit roten Pfeilen um die for-Schleife dargestellt ist und die Notation 4x zeigt, dass das Projekt viermal durch die Schleife iterieren würde. Unten werden 2 zusätzliche Codezeilen hinzugefügt. Pfeile zeigen, dass diese beiden Zeilen ausgeführt würden, sobald die vier Iterationen abgeschlossen sind. Diese Zeilen lesen, Stiftpunktfarbe offene Klammer rot schließen Klammer und Antriebsstrangpunktantrieb Unterstrich für offene Klammer umgekehrtes Komma 600 Komma mm schließen Klammer. Auf der rechten Seite befindet sich ein Bild des Projekts, nachdem es auf dem Spielplatz ausgeführt wurde. Es zeigt ein schwarzes Quadrat mit einer roten Linie, die vom VR-Roboter gezeichnet wurde.

Mini-Herausforderung

In diesem Projekt sollte der VR-Roboter ein blaues Quadrat auf dem Art Canvas Playground zeichnen, aber es gibt Fehler im Projekt. Bearbeiten Sie das Projekt, um die Mini-Herausforderung zu lösen!

Art Canvas-Spielplatz mit einem blauen Quadrat, das vom VR-Roboter gezeichnet wurde.

Das folgende Video zeigt, was zu tun ist, um die Mini-Herausforderung zu meistern. Der Roboter startet in der Mitte des Spielplatzes und zeichnet die vier Seiten eines großen blauen Quadrats. 

Videodatei
  • Sehen Sie sich das Lösungsvideo an und überprüfen Sie, wie sich der VR-Roboter bewegen sollte, um die Mini-Herausforderung zu meistern.
  • Ändern Sie das Projekt Unit3Lesson2 , damit es diesem Bild entspricht, oder kopieren Sie den folgenden Code.
     
def main():
	pen.move(DOWN)
	pen.set_pen_color(RED)
	drivetrain.drive_for(FORWARD, 600, MM)
	
	für Wert im Bereich(3):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait (5, MS)
  • Starten Sie das Projekt und identifizieren Sie, wo der VR-Roboter die erwarteten Verhaltensweisen nicht abschließt.
  • Ändern Sie das Projekt und führen Sie das Projekt erneut aus. Prüfen Sie, ob der VR-Roboter die erwarteten Verhaltensweisen erfüllt.
  • Wenn der VR-Roboter kein blaues Quadrat zeichnet, wiederholen Sie den vorherigen Schritt und versuchen Sie es erneut. Fahren Sie mit der Änderung und Ausführung Ihres Projekts fort, bis der VR-Roboter ein blaues Quadrat zeichnet.
  • Sobald der VR-Roboter erfolgreich ein blaues Quadrat auf dem Art Canvas Playground gezeichnet hat, speichern Sie das Projekt.

Herzlichen Glückwunsch! Du hast die Mini-Herausforderung gelöst!

Fragen

Bitte wählen Sie unten einen Link aus, um auf das Lektionsquiz zuzugreifen.

Google Doc / .docx / .pdf