User manual
matematikai műveleteket vagy változóneveket közvetlenül feldolgozza a program. A legtöbb
esetben tehát a
raw_input()
a jobb választás, mivel nem kell tépelődnie a lehetséges beadások esetlegességével.
A program vár, amíg a felhasználó egy betűt bead, majd megnyomja az
[Enter]-nyomógombot.
Attól függően, hogy melyik számot adta be a felhasználó, elő kell jönnie egy meghatározott
LED-mintának. Ennek a lekérdezésére egy
if...elif...else-szerkezetet alkalmazunk.
1. minta
Ha a beadás egy 1 volt, akkor az ezen sor utáni beugrasztott programrész végrehajtást nyer.
if e == "1": Vegye figyelembe, hogy a beugrasztásnak a Pythonban nem csak optikája van.
Ugyanúgy, mint a hurkokat, egy ilyen lekérdezést is egy beugrasztás vezet be.
Ha tehát a felhasználó egy 1 -et ad be a tasztatúrával, elindul egy hurok, amely egy ciklikus
futófényt állít elő. Ez a hurok az összes alkalmazott LED-mintára elvileg azonos felépítésű.
for i in range(w): A külső hurok annyiszor ismétli meg a fénymintát, ahogy az az elején definiált w
változóban meg lett adva. Ezen a hurkon belül van egy másik, amely a mindenkori mintát
előállítja. Ez a hurok mindegyik mintára más.
Az egyszerű ciklikus futófény esetében ez a hurok a listában szereplő minden egyes LED-re
egymás után végigfut. Hogy hány LED-ről is van szó, az a program elején a
z változóban van
tárolva. A hurokszámláló aktuális állásának megfelelő sorszámú LED bekapcsolódik. Ezután a
program az elején a
t változóban tárolt ideig várakozik, majd azután ismét kikapcsolja a LED-et.
Majd elkezdődik a következő hurokmenet a következő LED-del. A külső hurok a teljes belső
hurkot ötször megismétli.
2. minta
Ha a felhasználó egy 2-est adott be, egy hasonló hurok kezdődik el. Itt a LED-eket nem csak az
egyik irányban számlálja le a program, hanem a futófény végén ismét, de az ellenkező
sorrendben. A fény váltakozva fut előre és vissza.
elif e == "2": A további lekérdezések az első után az eliflekérdezést alkalmazzák, ami azt jelenti,
hogy csak akkor kerülnek végrehajtásra, ha az előző lekérdezés eredménye a
False (hamis)
volt.
Az egyenlő nem mindjárt azonos
A Python kétféle egyenlőségi jelet használ. Az egyszerű = arra szolgál, hogy egy változóhoz
meghatározott értéket rendeljen hozzá. A kettőzött egyenlőségi jelet lekérdezésekben
használja, és azt vizsgálja vele, hogy két
érték tényleg egyenlő-e egymással.
for
j
in range(z):
GPIO.output(LED[j], True); time.sleep(t)
GPIO.output(LED[j], False)
51