techniker Posted November 24, 2020 at 12:26 PM Posted November 24, 2020 at 12:26 PM Sehr geehrtes Tinkerforge Team Ich benötige kurz Hilfe für den Python 3 Syntax um ein Tuple oder eine Liste an eine Methode zu übergeben. Beispiel: red = (30, 0, 0) self.sw.set_color(red) wie muss das Tuple red auseinander genommen werden um akzeptiert zu werden? Beste Grüsse Sven Quote
rtrbt Posted November 24, 2020 at 12:50 PM Posted November 24, 2020 at 12:50 PM Moin, Du kannst mit einem * Tupel o.Ä auf Parameter-Listen expandieren, z.b. so: self.sw.set_color(*red) Quote
techniker Posted November 24, 2020 at 12:59 PM Author Posted November 24, 2020 at 12:59 PM Danke vielmals, genau dass was ich gesucht habe. Quote
techniker Posted November 24, 2020 at 01:21 PM Author Posted November 24, 2020 at 01:21 PM Nochmals eine Frage: Kann man in Python 3 die Bedingungen gleicher Logik z.B != mit mehreren Variablen vergleichen, also in einer Kurzform anstatt diverse "nicht gleich" hintereinander zu schreiben. So das self.sw.get_color() nur einmal aufzuführen ist. "and self.sw.get_color() != [red, green...." geht eben nicht. if self.ping(self.HOST_Controller) == False and self.sw.get_color() != [red, green, purple] self.sw.set_color(*blue) elif self.ping(self.HOST_Controller) == True and self.sw.get_color() != red and self.sw.get_color() != green and self.sw.get_color() != purple: Quote
rtrbt Posted November 24, 2020 at 01:45 PM Posted November 24, 2020 at 01:45 PM Solange red green und blue (wie oben) Tupel sind, kannst du folgendes machen: if self.sw.get_color() not in [red, green, purple]: self.sw.set_color(*blue) (oder alternativ ohne das not wenn du vergleichen willst ob get_color() gleich einem Element der Liste ist) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.