Frage zu conditional expression

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
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hallo

ich wollte für eine kleine if-Abfrage die conditional expression einsetzen:

res = a if (str==1) else res = b

bekomme aber vom compiler:
SyntaxError: can't assign to conditional expression

Was mache ich falsch?

danke

lg,
codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
BlackJack

@CoderGirl: Das ist ein *Ausdruck*, der wird zu einem Wert ausgewertet, das heisst sowohl der ``if``- als auch der ``else``-Fall müssen ihrerseits Ausdrücke sein. Und Zuweisungen sind keine Ausdrücke, deswegen geht beim ``else`` das ``res = b`` nicht. Macht ja auch keinen Sinn dort etwas zuweisen zu wollen wenn doch das Ergebnis sowieso schon `res` zugewiesen wird.

Code: Alles auswählen

res = a if str == 1 else b
`str` wird aber hoffentlich niemals gleich 1 sein, sondern immer der `str`-Datentyp.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

AHHH....
menno. das sind die Momente, wo man mit dem Kopf auf die Tischplatte könnte..

danke.

da habe ich 10 Bsp gesehen und dennoch dieses letzte "res" immer drin ;-(

Dank Danke
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Antworten