Hallo zusammen,
vielleicht habe ich es übersehen oder nicht gefunden im Forum, aber wenn ihr ein Hinweis findet der sinnvoll wäre dann her damit.
Mein Anliegen, es gibt einen fortlaufenden Abgleich bei der die Werte verglichen werden
Beispiel
if Wert.get() == 1
passiert etwas hier
elif Wert.get() == 2
passiert etwas und hier auch
elif Wert.get() == 3
passiert etwas da auch
else:
passiert etwas anderes
Kann man es eleganter lösen nicht nur aufzählen sonder durch eine Schleife?
Fortlaufende Aufzählung
Gewöhnlich gibt es viele Möglichkeiten ein Problem zu lösen. Das hängt immer stark vom Einsatzzweck ab.
Man könnte z.B. Methoden in einem Dictionary ablegen und die Funktionalitäten darin assoziieren.
Eine andere Art würde über Vererbung in Unterklassen spezialisierte Funktionalitäten umsetzen.
Eine if-Cascade ist sicher nicht die eleganteste, manchmal aber eine durchaus legitime Umsetzung - und vor allem gut lesbar. In Code für Mikrokontrollern findet man das immer wieder.
Man könnte z.B. Methoden in einem Dictionary ablegen und die Funktionalitäten darin assoziieren.
Code: Alles auswählen
num_fun = {
1: lambda: print('one'),
2: lambda: print('two')
}
x = 1
f = num_fun[1]
f()
Eine if-Cascade ist sicher nicht die eleganteste, manchmal aber eine durchaus legitime Umsetzung - und vor allem gut lesbar. In Code für Mikrokontrollern findet man das immer wieder.
Danke für die Antwortpintman hat geschrieben: ↑Montag 20. Juli 2020, 14:02 Gewöhnlich gibt es viele Möglichkeiten ein Problem zu lösen. Das hängt immer stark vom Einsatzzweck ab.
Man könnte z.B. Methoden in einem Dictionary ablegen und die Funktionalitäten darin assoziieren.
Eine andere Art würde über Vererbung in Unterklassen spezialisierte Funktionalitäten umsetzen.Code: Alles auswählen
num_fun = { 1: lambda: print('one'), 2: lambda: print('two') } x = 1 f = num_fun[1] f()
Eine if-Cascade ist sicher nicht die eleganteste, manchmal aber eine durchaus legitime Umsetzung - und vor allem gut lesbar. In Code für Mikrokontrollern findet man das immer wieder.