Python programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


cigam
(félisten)
Blog

A példa kedvéért tegyül fel, hogy az 1,3,5,7 lábak vezérlik a piros lámpákat, a 2,4,6,8 pedig a zöldeket. Az első csatornához tartozik a 1,2, a második csatornához a 3,4,...
# Ha az első piros lámpa bekapcsolódik
if pinNUmber = 1:
# Kikapcsolja a hozzá tartozó zöldet
powered_pins.remove(2)
powered_pins.append(gpo["pinNumber"])
Ha a piros lámpát bekapcsolja, a hozzá tartozó zöld lámpa sorszámát kiveszi a powered_pins listából, így a következő ciklusban kikapcsolja a hozzá tartozó zöldet. (Nem fut hibára, ha egy nem létező elemet vennék ki?) Viszont semmi nem garantálja, hogy a piros lámpa után, a rákövetkező ciklusban nem a csatornához tartozó zöld lámpát olvassa be, ami visszakapcsolhatja.
Ezért az ellenörzést, kikapcsolást, inkább a két ciklus közé kellene tenni, amikor már minden bekapcsolt relét tartalmazó lista elkészült.
# Ha a az első piros lámpa bekapcsolódik
if 1 in powered_pins:
  # Kikapcsolja a hozzá tartozó zöldet
 powered_pins.remove(4)
Vagy be lehet passzítani valahogy az első listába, amikor a powered_pins készül?

Megoldható, hogy ne legyen beégetve a IO láb sorszáma, hanem a .json fájlból beolvasott értékekkel hivatkozzak rá?

[ Szerkesztve ]

üzenetek