for i in range(w):
for j in range(z):
for j in range(z-1, -1, -1):
Ook hier worden in elkaar geschakelde lussen gebruikt. Na de eerste binnenste lus, die overeenkomt met het
eerder beschreven programmadeel, dus nadat de LED met nummer 3 brandt, start nog een lus voor het
looplicht in tegengestelde richting. Lijstelementen zijn altijd met 0 beginnend genummerd. De vierde LED
heeft dus het nummer 3.
Om een lus achterwaarts te laten lopen, gebruiken wij de uitgebreide syntax van
van slechts een eindwaarde aan te geven, kunnen ook drie parameters worden aangegeven: Startwaarde,
stapgrootte en eindwaarde. In ons voorbeeld zijn dat:
Startwaarde
z-1
Stapgrootte
-1
Eindwaarde
-1
De beschreven tweede lus laat opeenvolgend de vier LED's in omgekeerde richting knipperen. Hierna start de
buitenste lus van de totale cyclus opnieuw, die hier, omdat elke LED twee keer knippert, twee keer langer
duurt dan in het eerst programmaonderdeel.
Patroon 3
Als de gebruiker een
3
richtingen verder geteld, maar niet direct na het inschakelen weer uitgeschakeld.
elif e == "3":
for i in range(w):
for j in range(z):
time.sleep(2*t)
for j in range(z-1, -1, -1):
time.sleep(2*t)
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
De variabele
bevat het aantal LED's. Omdat de nummering van de lijstelementen
z
met
begint, heeft de laatste LED het nummer
0
Bij een stapgrootte van
De eindwaarde in een lus is altijd de eerste waarde, die niet wordt bereikt. In de
eerste vooruit tellende lus begint de lusteller bij
waarde
,
,
,
0
1
2
3
lusdoorloop niet bereikt. De achterwaarts tellende lus moet met
waarde
als eerste niet bereiken.
-1
heeft ingevoerd, start een overeenkomstige lus. Hier worden de LED's ook in beide
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False); time.sleep(t)
telt elke lusdoorloop een getal terug.
-1
, om de LED's te adresseren. De
for...range()
.
z-1
en bereikt in ons voorbeeld de
0
wordt bij vier keer een
4
eindigen en zo de
0
. In plaats
51