Seite 1 von 1

'or'

Verfasst: Dienstag 9. Juli 2013, 03:53
von StefanLawl
Hallo, es scheint als würde ich das erste Mal 'or' benutzen, denn ich verstehe folgende Codes nicht:

Code: Alles auswählen

('a' or 'b') in 'b'
>>False

Code: Alles auswählen

('a' or 'b') in 'a'
>>True

Code: Alles auswählen

'a' or 'b' in 'c'
>>'a'

Code: Alles auswählen

if 'a' or 'b' in 'c':
    print 'ja'
else:
    print 'no'
>>'ja'

Erstaunlich, wie es beim 1. und 2. Beispiel davon abhängt, an welcher Stelle sich 'a' und 'b' befinden.

Ganz verstanden habe ich or offensichtlich nicht. :K Kann mir jemand die einzelnen Beispiel bzw. deren 'Wirkung' erklären?

Re: 'or'

Verfasst: Dienstag 9. Juli 2013, 06:32
von Sirius3
@StefanLawl: Bei »or« werden die Operanden so lange ausgewertet bis der Operand »wahr« ist. Also 'a' or irgendwas gibt 'a'. Damit müßtest Du alle Deine Fälle erklären können.

Re: 'or'

Verfasst: Dienstag 9. Juli 2013, 11:28
von cofi
Sirius3 hat geschrieben:Damit müßtest Du alle Deine Fälle erklären können.
Ich wuerde noch dazuwerfen, dass `in` staerker bindet als `or`. Aber dann sollte man sich wirklich alle Faelle erklaeren koennen.

Re: 'or'

Verfasst: Donnerstag 11. Juli 2013, 23:26
von Malachite
Ich glaube, du verstehst die booleschen Operatoren falsch. Was du umzusetzen versuchst ist die Frage "Ist a oder b in c?". Tatsächlich fragst du aber "Ist a, b oder beide = True, und ist das erste Objekt, das True ist, in c?" bzw. bei den Statements ohne Klammern "Ist a = True, oder b in c (oder beides)?".

So geht es richtig:

Code: Alles auswählen

>>> 'a' in 'c' or 'b' in 'c'
False

Re: 'or'

Verfasst: Freitag 12. Juli 2013, 02:42
von StefanLawl
Danke für die Antworten :) Hab es jetzt verstanden