Endlosschleife

Im dritten Abschnitt folgt das, was Arduino-Programmierer als loop-Funktion kennen.

Die while-Schleife

Eine Schleife ist eine besondere Kontrollstruktur. Mit Schleifen lassen sich Programmzeilen wiederholt ausführen. In jeder Programmiersprache gibt es Schleifen, da das Programmieren ohne Schleifen keinen Sinn machen würde.

Normalerweise sollen Schleifen irgendwann abbrechen und das Programm darunter fortgesetzt werden. Darum muss zu Beginn eines Schleifendurchlaufs stets eine Bedingung überprüft werden sein. Solange diese Bedingung wahr ist, wird die Schleife ein weiteres Mal durchlaufen. Eine einfache Schleife könnte so aussehen:

i = 10
while i > 0:
    print(i)
    i = i - 1

print(i)

Nachdem in Zeile 1 eine Variable i mit dem Wert 10 definiert wurde, folgt in Zeile 2 der Schleifenkopf. Die Bedingung lautet: Solange i größer als 0 ist.

Alles was in der Schleife wiederholt werden soll, steht im Schleifenrumpf. Die vier Leerzeichen sind wichtig. Sie zeigen an, welche Zeilen im Schleifenrumpf stehen.

Die letzte Zeile gehört nicht mehr zur Schleife und wird ausgeführt sobald die Schleife beendet ist.

Welche Ausgabe erzeugt das Programm

10

9

8

7

6

5

4

3

2

1

0

Die unendliche while-Schleife

Mit while True: definiert man eine Endlosschleife. Der Code innerhalb einer Endlosschleife wird immer wieder ausgeführt, da die Bedingung dieser Schleife immer True (wahr) ist

while True: bedeutet im Grunde: "Tue für immer folgendes:".

Der gesamte Code, der unterhalb des Schleifenkopfes eingerückt ist, befindet sich innerhalb der Schleife. Innerhalb unserer Schleife stehen vier Befehle:

while True:
    led.value = True
    time.sleep(1.0)
    led.value = False
    time.sleep(0.5)

In der zweiten Zeile steht led.value = True. Hier wird die LED eingeschaltet.

In der nächsten Zeile (3) steht time.sleep(1.0).

Diese Zeile (3) weist CircuitPython an, den laufenden Code für eine Sekunde anzuhalten. Da dies zwischen dem Ein- und Ausschalten der LED liegt, ist die LED eine Sekunde eingeschaltet.

Der Punkt steht für das in Deutschland gebräuchliche Komma. 1.0 heißt also "Eins Komma Null"

Die nächsten beiden Zeilen (4 und 5) ähneln den ersten beiden.

led.value = False weist CircuitPython an, die LED auszuschalten, und time.sleep(0.5) weist CircuitPython an, weitere 0,5 Sekunden zu pausieren. Da das zwischen dem Aus- und Wiedereinschalten der LED geschieht, scheint es, als sei die LED für 0,5 Sekunden ausgeschaltet.

Die Schleife beginnt wieder von vorne und wird solange fortgesetzt, solange die Stromversorgung gewährleistet ist und kein Reset durchgeführt wird!

Kommentieren Kommentare