Lektion 4: Wiederholte Verhaltensweisen
In der vorherigen Lektion haben Sie beobachtet, wie Sie if -Aussagen verwenden, damit der VR-Roboter die Bedingungen überprüfen kann. Aufgrund des Projektablaufs werden die Bedingungen innerhalb der if-Anweisungen jedoch nur einmal geprüft. In dieser Lektion werden Sie in eine unendliche Schleife eingeführt und erfahren, wie sie zur Lösung der Disk Maze Challenge verwendet werden kann.

Lernergebnisse
- Identifizieren Sie, dass eine unendliche while-Schleife die Verhaltensweisen innerhalb der Schleife für immer wiederholt.
- Beschreiben Sie, warum eine Endlosschleife in einem Projekt verwendet wird.
- Beschreiben Sie den Projektablauf in einem Projekt, das mehrere if -Anweisungen innerhalb einer unendlichen while -Schleife aufweist.
- Erklären Sie , warum, wenn Aussagen mit unendlichen while-Schleifen verwendet werden.
Wiederholte Überprüfung der Bedingungen
Wie in der vorherigen Lektion beobachtet, überprüft die if -Anweisung eine Bedingung nur einmal. Damit die in den if-Anweisungen enthaltenen Bedingungen wiederholt überprüft werden können, muss das Projekt immer wieder zum Start zurückkehren. Um dies zu tun, ist eine Endlosschleife erforderlich.
while True:
wait (5, MS)Eine unendliche while-Schleife verwendet eine Bedingung, die immer zu True ausgewertet wird. Während Schleifen den Körper der Schleife ausführen, wenn die Bedingung Wahr ist, wiederholen sich die Befehle innerhalb der Schleife unendlich.
Die unendliche while -Schleife und das Disk Maze-Problem
Um den VR-Roboter dazu zu bringen, sich so zu verhalten, wie wir es beabsichtigen, und erfolgreich durch das Disk Labyrinth zu navigieren, müssen die Bedingungen, die durch die if-Anweisungen festgelegt werden, wiederholt überprüft werden, während der VR-Roboter um den Spielplatz herum fährt. Dies wird durch das Hinzufügen einer Endlosschleife while zum gesamten Projekt ermöglicht, da alle if Anweisungen in der Endlosschleife while im folgenden Projekt wiederholt überprüft werden, bis das Projekt gestoppt wird.
Beachten Sie die Einrückung hier. Alle if-Anweisungen werden eingerückt, um innerhalb der unendlichen while-Schleife zu liegen. Das Ende der unendlichen while-Schleife wird durch den wait-Befehl vermerkt.
def main():
while True:
# Wenn das vordere Auge grün erkennt, dann rechts abbiegen,
wenn front_eye.detect (GREEN):
drivetrain.turn_for (RIGHT, 90, DEGREES)
# Wenn das vordere Auge blau erkennt, dann links abbiegen,
wenn front_eye.detect (BLUE):
drivetrain.turn_for (LEFT, 90, DEGREES)
# Wenn das vordere Auge rot erkennt, dann anhalten,
wenn front_eye.detect (RED):
drivetrain.stop ()
# Wenn das vordere Auge nichts erkennt, dann vorwärts fahren,
wenn front_eye.detect (NONE)
: drivetrain.drive (FORWARD)
wait(5, MSEC)Im Projekt aus der vorherigen Lektion wurden die Bedingungen innerhalb der if-Anweisungen nur einmal geprüft. Da die Bedingungen innerhalb der if-Anweisungen nur einmal überprüft wurden, fuhr der VR-Roboter für immer vorwärts, da der Zustand, dass keine Farbe erkannt wurde, zu Beginn des Projekts als wahr gemeldet wurde.
Nachdem nun die unendliche while-Schleife hinzugefügt wurde, wird jede Bedingung der if-Anweisungen wiederholt überprüft.
- Die Bedingung der unendlichen while-Schleife ist immer True, und daher wird der Code innerhalb der unendlichen while-Schleife immer ausgeführt. Dadurch werden die Bedingungen der if -Aussagen während des Projektlaufs kontinuierlich überprüft.
- Denken Sie daran, dass das "Innere" einer while-Schleife durch eine Einrückung angezeigt wird.
- Wenn während des Projektablaufs die Bedingung der if-Anweisung True ist, werden die Befehle innerhalb der if-Anweisung ausgeführt. Wenn die Bedingung der if-Anweisung False ist, werden die Befehle innerhalb der if-Anweisung nicht ausgeführt, und der Fluss des Projekts wird mit dem nächsten Befehl fortgesetzt. Dies ermöglicht es dem VR-Roboter, diskrete Verhaltensweisen wie Drehen oder Anhalten auszuführen, sobald er eine bestimmte Farbe erkennt.
- Wenn Anweisungen mit unendlichen while-Schleifen verwendet werden, um sicherzustellen, dass die Bedingungen ständig überprüft werden, wird im Wesentlichen der Projektfluss der if-Anweisungen innerhalb der Schleife kombiniert.
Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.