ich arbeite gerade mit dem SensHat von RaspPi.
Ziel: das Programm soll vorerst 8 Zufallsfarben generiern :ok.
Da war meine Vorstellung (kenne ein wenig C/C++ und PHP ) ich fülle einen Array.
Da Python diese nicht zur Verfügung stellt bediente ich mich einer Liste (list).
Diese konnte ich nicht, (wie ich es kenne) in einer for-Schleife indexieren
BSP
[codebox=c file=Unbenannt.c]
for(i=1; i<=10; i++)
{
}
[/code]
erste Subfrage, geht das?
Dazu bitte erst weiterlesen da nach meinem jetztigem Wissen jeweils [key: value]
zu jedem "key" ein "value-Wert" gehört.
Meine Lösung, weil Tutorials, Bücher, Foren diese Möglichkeit boten
den Weg über ein Dictionary
meine Lösung dazu:
Code: Alles auswählen
from sense_hat import SenseHat
from random import randint
from time import sleep
sense = SenseHat()
x = 0 # x Koordinate der LED Matrix
y = 0 # x Koordinate der LED Matrix
def farben (r, g, b):
#""" Generiere neue Zufallsfarbe """
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
return (r, g, b);
# besorge mir 8 Zufalls_Farben brauch ich zu Anfang
# index 0 bis 7 liegen im Dictionary
# in Form 0:[78, 173, 254]
rgb_x = {}
for i in range(8):
rgb_x[i] = [(farben('r', 'g', 'b'))]
#print (rgb_x)
#print ( rgb_x[0])
for value in rgb_x:
print(rgb_x[value]) #dient der Kontrolle was gelesen wurde
Meine Lösung die Werte aus dem "dict" in eine "list" überführen.
dh.
Code: Alles auswählen
rgb01 = []
rgb02 = []
rgb03 = []
rgb04 = []
rgb05 = []
rgb06 = []
rgb07 = []
rgb08 = []
rgb01 = rgb_x[0]
rgb_01 = rgb01[0]
rgb02 = rgb_x[1]
rgb_02 = rgb02[0]
rgb03 = rgb_x[2]
rgb_03 = rgb03[0]
rgb04 = rgb_x[3]
rgb_04 = rgb04[0]
rgb05 = rgb_x[4]
rgb_05 = rgb05[0]
rgb06 = rgb_x[5]
rgb_06 = rgb06[0]
rgb07 = rgb_x[6]
rgb_07 = rgb07[0]
rgb08 = rgb_x[7]
rgb_08 = rgb08[0]
Die Ausgabe bzw. die Weiterverwendung erfolgt dann über eine "SensHat - Funktion"
Code: Alles auswählen
sense.set_pixel(x, y, rgb_01[0], rgb_01[1], rgb_01[2])
Welche Möglichkeiten gibt es denn, die Funktion
Code: Alles auswählen
def farben (r, g, b):
#""" Generiere neue Zufallsfarbe """
r = randint(0, 255)
g = randint(0, 255)
b = randint(0, 255)
return (r, g, b);
Code: Alles auswählen
sense.set_pixel(x, y, rgb_01[0], rgb_01[1], rgb_01[2])
abgerufen. (LED-Matrix 8x8)
Unterschiedlichste Klammerformen wurden probiert. Also wenn die Klammern die Lösungs des Problems bieten würden,
dann bitte, die richtige Syntax in der exakten Schreibweise posten.
Da ich die Suchfunktion der div. Suchmaschinen bemüht habe, leider gar nicht so richtig weiß, wie das Problem denn richtig benannt werden könnte, frag ich mal die Profis
Danke und Grüße
Martin