Seite 1 von 1

Frage zu conditional expression

Verfasst: Montag 29. Mai 2017, 14:43
von CoderGirl
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

Re: Frage zu conditional expression

Verfasst: Montag 29. Mai 2017, 14:53
von 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.

Re: Frage zu conditional expression

Verfasst: Montag 29. Mai 2017, 15:27
von CoderGirl
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