Skip to main content

Lektion 4: Verwenden von verschachtelten Schleifen

In der vorherigen Lektion haben Sie ein Projekt erstellt, um den VR-Roboter anzuweisen, alle drei blauen Festplatten im Disk Mover Playground in das blaue Ziel zu fahren, aufzunehmen und zu verschieben. In dieser Lektion erstellen Sie ein Projekt, um mithilfe verschachtelter Schleifen eine Scheibe jeder Farbe aufzunehmen und in das entsprechende farbige Ziel im Disk Mover Playground zu bewegen!

Eine Draufsicht auf den Disk Mover Playground mit der ersten Platte jeder Farbe im Ziel für die passende Farbe. Der VR-Roboter zeigt auf die rechte Seitenwand am Rand des grünen Tores, in der unteren rechten Ecke.

Lernergebnisse

  • Identifizieren, wie Loops geschachtelt werden.
  • Beschreiben Sie den Ablauf eines Projekts durch verschachtelte Schleifen.
  • Erklären Sie, warum verschachtelte Schleifen in einem Projekt verwendet werden.

Was sind verschachtelte Schleifen?

In früheren Einheiten und Lektionen in diesem Kurs haben Sie Schleifen aus der Steuerungskategorie verwendet, z. B. die for-Schleife, while-Schleife und infinite  while-Schleifen, um Verhaltensweisen zu wiederholen. Das Platzieren einer Schleife in einer anderen Schleife wird als "Verschachteln" bezeichnet. Verschachtelte Schleifen sind hilfreich in Projekten, in denen ein VR-Roboter die gleichen Verhaltensweisen mehr als einmal wiederholt, z. B. um mehrere Festplatten auf dem Spielplatz zu verschieben. Verschachtelte Schleifen können ein Projekt organisieren und verdichten, um es leichter verständlich zu machen. Dies kann hilfreich sein, um den Kontext und den Zweck des Codes besser zu verstehen und die Identifizierung von Fehlern und die Fehlerbehebung bei einem Projekt zu erleichtern. 

Um beispielsweise alle drei blauen Datenträger auf das blaue Ziel zu verschieben, kann eine  for-Schleife verwendet werden, um den Vorgang des Sammelns eines Datenträgers mehrmals zu wiederholen. Das hier gezeigte Projekt platziert das Projekt Lektion 3, um die erste blaue Festplatte auf das blaue Ziel in einer for-Schleife zu verschieben, wobei der Parameter auf 3 festgelegt ist. Beachten Sie, wie die vier Abschnitte des vorherigen Projekts innerhalb der for-Schleife eingerückt sind.

def main():
    für repeat_count im Bereich(3):
        #1. Fahren Sie auf die erste Festplatte,
        während nicht down_eye.near_object (
            ): drivetrain.drive (FORWARD)
            wait(5, MSEC
        )drivetrain.stop ()

        # 2. Nimm den Scheibenmagneten auf
        .Errege (BOOST)

        # 3. Fahren Sie mit front_distance.get_distance
        (MM) > 200 zum Ziel
        driveetrain.turn_to_heading (180, GRAD)
            : drivetrain.drive (FORWARD)
            wait(5, MS
        )drivetrain.stop ()

        # 4. Legen Sie die Scheibe in den Zielmagneten. Erregen
        SIE (DROP) Antriebsstrang

        . Antrieb_für (RÜCKWÄRTS, 100, MM) Antriebsstrang
        . Drehen_in_Richtung (0, GRAD)

    Warten(5, MS)

Wenn Sie Schleifen "verschachteln", steuert die äußere Schleife, wie oft die innere Schleife ausgeführt wird.  In diesem Projekt ist die  for-Schleife die äußere Schleife und wiederholt die Verhaltensweisen in der Schleife dreimal.

Das Projekt von oben, wobei die for-Schleife in einem roten Kästchen hervorgehoben ist. Unter der Hauptdefinition eingerückt, ist der Doppelpunkt für wiederholte Unterstrichzählung im Bereich (3) der Anfang der Schleife, und die vier Abschnitte des Projekts sind darunter eingerückt. Am unteren Rand des Projekts befindet sich ein Wartebefehl, der anzeigt, wo die Schleife endet.

Die inneren Schlaufen sind die Schlaufen, die in der äußeren Schlaufe enthalten sind. In diesem Beispiel handelt es sich bei jeder der  while-Schleifen (um zur Festplatte und zum Ziel zu fahren) um "innere Schleifen", die jedes Mal ausgeführt werden, wenn sich das Projekt durch die  for-Schleife bewegt.Das gleiche Projekt von oben, wobei jede der inneren Schlaufen in einem roten Kästchen hervorgehoben ist. Der erste und dritte Kommentarabschnitt des Projekts enthalten while-Schleifen, um die Sensoren am Roboter zu verwenden, um zu fahren, bis eine Festplatte erkannt wird, und dann, bis die Wand erkannt wird.

Zur Kenntnisnahme

Die Einrückung ist in VEXcode VR Python-Projekten wichtig. Sie können die grauen Indikatorlinien im Arbeitsbereich als visuelle Hilfe beim Verschachteln von Schleifen verwenden, um sicherzustellen, dass Ihr Projekt wie beabsichtigt funktioniert. Jede Zeile zeigt den Anfang und das Ende einer Schleife an.

Dasselbe Projekt von oben mit den in roten Kästchen hervorgehobenen Führungslinien, die die Einrückungsausrichtung jeder der inneren Schlaufen in Bezug auf den Rest des Projekts zeigen. Die for-Schleifenleitung erstreckt sich direkt bis zum letzten Wartebefehl. Und jede der While-Loop-Leitungen erstreckt sich bis zu den Stopp-Befehlen.

Ablauf eines verschachtelten Loop-Projekts 

In diesem Beispiel wird jedes Mal, wenn die for -Schleife wiederholt wird, eine blaue Festplatte aufgenommen und zum blauen Ziel zurückgebracht. 

Nach der ersten Iteration wird die erste blaue Platte zum blauen Ziel zurückgebracht und der VR-Roboter wird gedreht, um bereit zu sein, die zweite Platte zu sammeln.

Ein nebeneinander liegendes Bild des Projekts von oben, das im Arbeitsbereich auf der linken Seite und im Spielplatzfenster auf der rechten Seite angezeigt wird. Das Projekt hat einen orangefarbenen Pfeil, der vom for-Schleifenbefehl um das gesamte Projekt gewickelt wird und die erste Iteration der for-Schleife veranschaulicht. Auf dem Spielplatz befindet sich die erste blaue Scheibe im blauen Tor, und der VR-Roboter befindet sich gegenüber den verbleibenden blauen Scheiben am vorderen Ende des Tores und zeigt die Position des Roboters nach der ersten Iteration an.

Nach der zweiten Iteration wird die zweite blaue Platte gesammelt und der VR-Roboter wird gedreht, um bereit zu sein, die dritte Platte zu sammeln.

Ein nebeneinander liegendes Bild des Projekts von oben, das im Arbeitsbereich auf der linken Seite und im Spielplatzfenster auf der rechten Seite angezeigt wird. Das Projekt hat einen orangefarbenen Pfeil, der vom for-Schleifenbefehl um das gesamte Projekt gewickelt wird und die zweite Iteration der for-Schleife veranschaulicht. Auf dem Spielplatz befinden sich 2 blaue Scheiben im blauen Tor, und der VR-Roboter befindet sich gegenüber der verbleibenden blauen Scheibe am vorderen Ende des Tores und zeigt die Position des Roboters nach der zweiten Iteration an.

Nach der dritten Iteration wird die dritte blaue Platte gesammelt und der VR-Roboter stoppt die Bewegung. Die  for-Schleife hat nun ihr Sortiment vervollständigt, sodass das Projekt abgeschlossen ist. 

Ein nebeneinander liegendes Bild des Projekts von oben, das im Arbeitsbereich auf der linken Seite und im Spielplatzfenster auf der rechten Seite angezeigt wird. Das Projekt hat einen orangefarbenen Pfeil, der vom for-Schleifenbefehl um das gesamte Projekt gewickelt wird und die dritte Iteration der for-Schleife veranschaulicht. Auf dem Spielplatz befinden sich alle drei blauen Scheiben im blauen Tor, und der VR-Roboter befindet sich direkt außerhalb des Torfelds und zeigt die Position des Roboters nach der letzten Iteration an.

 

Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.