Instructions

48
matische Operationen oder Variablennamen direkt ausgewertet. In den meisten Fällen ist also
raw_input()
die bessere Wahl, da man sich um viele Eventualitäten möglicher Eingaben nicht zu kümmern braucht.
Das Programm wartet, bis der Benutzer einen Buchstaben eingibt und die
[Enter]-Taste drückt. Abhängig
davon, welche Zahl der Benutzer eingegeben hat, soll jetzt ein bestimmtes Muster mit den LEDs angezeigt
werden. Um dies abzufragen, verwenden wir ein
if...elif...else-Konstrukt.
Muster 1
War die Eingabe eine 1, wird der hinter dieser Zeile eingerückte Programmteil ausgeführt.
if e == "1": Beachten Sie, dass Einrückungen in Python nicht nur der Optik dienen. Wie bei Schleifen wer-
den auch solche Abfragen mit einer Einrückung eingeleitet.
Gleich ist nicht gleich Gleich
Python verwendet zwei Arten von Gleichheitszeichen. Das einfache = dient dazu, einer Variablen einen
bestimmten Wert zuzuweisen. Das doppelte Gleichheitszeichen == wird in Abfragen verwendet und prüft,
ob zwei Werte wirklich gleich sind.
Falls der Benutzer also eine 1 über die Tastatur eingegeben hat, startet eine Schleife, die ein zyklisches Lauf-
licht erzeugt. Diese Schleifen sind für alle verwendeten LED-Muster prinzipiell gleich aufgebaut.
for i in range(w): Die äußere Schleife wiederholt das Muster so oft, wie in der eingangs definierten Vari-
ablen
w angegeben. In dieser Schleife liegt eine weitere, die das jeweilige Muster erzeugt. Diese unterscheidet
sich bei jedem Muster.
for j in range(z):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
Im Fall des einfachen zyklischen Lauflichts läuft diese Schleife nacheinander für jede LED der Liste einmal
durch. Wie viele LEDs das sind, wurde am Anfang des Programms in der Variablen
z gespeichert. Die LED mit
der Nummer des aktuellen Stands des Schleifenzählers wird eingeschaltet. Danach wartet das Programm die
eingangs in der Variablen
t gespeicherte Zeit und schaltet die LED danach wieder aus. Anschließend beginnt
der nächste Schleifendurchlauf mit der nächsten LED. Die äußere Schleife wiederholt die gesamte innere
Schleife fünfmal.
Muster 2
Hat der Benutzer eine 2 eingegeben, startet eine ähnliche Schleife. Hier werden die LEDs aber nicht nur in
einer Richtung durchgezählt, sondern am Ende des Lauflichts wieder in umgekehrter Reihenfolge. Das Licht
läuft abwechselnd vor und zurück.
elif e == "2": Die weiteren Abfragen nach der ersten verwenden die Abfrage elif, was bedeutet, dass sie
nur dann ausgeführt werden, wenn die vorhergehende Abfrage als Ergebnis
False zurückgab.