Zum Hauptinhalt springen

Bedingungen mit or

Warum brauchen wir das?

Manchmal gibt es mehrere erlaubte Wege:

  • Antwort "ja" oder "j"
  • Samstag oder Sonntag
  • Schlüssel A oder VIP-Pass
  • Menüwahl "1" oder "start"

Nicht alle Schlüssel müssen passen – einer reicht. Dafür: or.

Definition: or

Definition – or:
or verknüpft zwei Bedingungen.
Das Ergebnis ist True, wenn mindestens eine Seite True ist.
Nur wenn beide False sind, ist das Ganze False.

Alltagsbild: Zwei Türen in denselben Raum. Eine offene Tür genügt.

Wahrheitstabelle

ABA or B
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Nur die letzte Zeile ist „kein Weg frei“.

Beispiele

tag = input("Tag: ").strip().lower()
if tag == "samstag" or tag == "sonntag":
print("Wochenende – Club-Open-Air!")
else:
print("Wochentag – normale Zeit.")
antwort = input("Mitmachen? ").strip().lower()
if antwort == "ja" or antwort == "j":
print("Super!")
else:
print("Vielleicht spaeter.")

Py: „or ist großzügig – ein Treffer reicht.“
Lily: „Schreibe beide Vergleiche vollständig.“
Buggy schreibt if farbe == "rot" or "blau" und wundert sich.

Wichtiger Anfängerfehler

# FALSCH gedacht:
if farbe == "rot" or "blau":
print("ok")

So meint Python nicht: „farbe ist rot oder blau“.
Ein allein stehender Text wie "blau" gilt in Wahrheitskontexten oft als „etwas ist da“ – die Bedingung wird leicht immer True.

Richtig:

if farbe == "rot" or farbe == "blau":
print("ok")

Neue Wörter

oror

Logisches Oder: mindestens eine Bedingung True.

Was passiert im Computer?

  1. Teilbedingungen auswerten.
  2. Nach or-Tabelle kombinieren.
  3. True, sobald mindestens eine Seite True ist.
  4. False nur, wenn alle Seiten False sind.

or ist „großzügiger“ als and – merke dir die Tabellen nebeneinander.

Häufige Irrtümer

IrrtumRichtig
or "blau" ohne Vergleichvolle Bedingung: farbe == "blau"
or braucht beide Truenein – eine reicht
and und or sind austauschbarnein – streng vs. großzügig
or nur für Texteauch für Zahlen und bool

Probiere es selbst

Experiment 1

print(False or True)
print(False or False)
print(3 == 4 or 5 == 5)

Experiment 2 – Menü

wahl = input("Menue (1/start): ").strip().lower()
if wahl == "1" or wahl == "start":
print("Gestartet")
else:
print("Unbekannte Wahl")

Experiment 3 – Farben richtig

farbe = input("Farbe: ").strip().lower()
if farbe == "rot" or farbe == "blau":
print("Club-Farben!")
else:
print("Andere Farbe")

Experiment 4 – Buggy-Falle (zum Nachdenken)

Vergleiche im Kopf: Warum ist die „falsche“ Form gefährlich?

Fehlerdetektiv

farbe = "gruen"
if farbe == "rot" or "blau":
print("ok")
Loesung anzeigen

Vollständige Vergleiche:

if farbe == "rot" or farbe == "blau":
print("ok")

Übungen

Level 1 – Entdecken

Was liefern True or False und False or False?

Loesung
print(True or False) # True
print(False or False) # False

Level 2 – Anwenden

Wochenende: "sa" oder "so" (kurz).

Loesung
tag = input("Tag kurz: ").strip().lower()
if tag == "sa" or tag == "so":
print("Wochenende")
else:
print("Wochentag")

Level 3 – Erweitern

Quiz: richtige Antwort "4" oder "vier".

Loesung
a = input("2+2? ").strip().lower()
if a == "4" or a == "vier":
print("Richtig!")
else:
print("Leider nein.")

Mini-Challenge

Baue einen Club-Check: Eintritt mit Gastkarte oder Mitglieds-ID (zwei verschiedene richtige Codes).
Erkläre: Wann wählst du or statt and?

Zusammenfassung

  • or = mindestens eine Seite True.
  • Nur beide False → False.
  • Jede Seite als vollständige Bedingung schreiben.
  • Ideal für Alternativen und erlaubte Varianten.
  • Wahrheitstabelle merken und mit and vergleichen.

Mini-Quiz

Mini-QuizWann ist A or B False?
  1. Reicht eine wahre Seite bei or?
  2. Was ist falsch an x == 1 or 2?
  3. Wochenende: and oder or?
Loesungen
  1. Ja.
  2. 2 ist kein vollständiger Vergleich mit x.
  3. or (Samstag oder Sonntag).

or sitzt! Als Nächstes: not.