"cavi" aender i in range(1,6)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
peter99
User
Beiträge: 84
Registriert: Samstag 3. August 2013, 21:32

Hallo,
ich habe ein Programm in CSS (GUI), welches mit einem Pythoncode vernetzt ist. wenn gewisse Werte groesser als andere Werte sind, will ich, dass es zugehoerige widget in CSS rot macht, also etwas wie

Code: Alles auswählen

def alarm(cavlist, cavmaxCSS):
    for i in range(1, number):
        if number >= i and cavlist[i-1] > cavmaxCSS[i-1]:
            display.getWidget("cavi").setPropertyValue("foreground_color",RED)
iwe kann ich dafuer sorgen, dass i im widgetnamen die Werte 1-6 durchlaueft.
ich vergleiche Liste 1 mit Liste 2, jeweils das erste mit dem ersten und so fort.
Danke im Vorraus!
Peter
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo Peter,

Deine Widgets heißen cavi1, cavi2, usw.???
Das "number>=i" ist völlig überflüssig, da es ja immer erfüllt ist. Statt über einen Index, iteriert man in Python direkt über die Listelemente; falls doch ein Index nötig ist, gibt es enumerate:

Code: Alles auswählen

def alarm(cavlist, cavmaxCSS):
    for i, (cav_value, cab_max) in enumerate(zip(cavlist,cavmaxCSS),1):
        display.getWidget("cavi%d"%i).setPropertyValue("foreground_color",RED if cav_value>cab_max else GREEN)
peter99
User
Beiträge: 84
Registriert: Samstag 3. August 2013, 21:32

danke! Frage wurde geklaert :)
Antworten