Zum Hauptinhalt springen

Bedingungen mit not

Warum brauchen wir das?

Manchmal denkst du in Negationen:

  • wenn nicht fertig
  • wenn kein Ticket
  • wenn Passwort nicht stimmt
  • wenn die Tür nicht offen ist

Statt nur „wenn ja …“ brauchst du oft „wenn nicht …“. Dafür: not.

Definition: not

Definition – not:
not kehrt einen Wahrheitswert um:
not TrueFalse, not FalseTrue.

print(not True) # False
print(not False) # True
print(not (3 > 5)) # True, weil 3>5 False ist

Wahrheitstabelle (ein Operand)

Anot A
TrueFalse
FalseTrue

Nur zwei Zeilen – einfach, aber mächtig.

Beispiele

tuer_offen = False
if not tuer_offen:
print("Bitte Tuer oeffnen.")
antwort = input("Fertig? (ja/nein) ").strip().lower()
if not antwort == "ja":
print("Dann lass uns weiter machen.")

Oft lesbarer alternativ:

if antwort != "ja":
print("Dann lass uns weiter machen.")

Beide Ideen kennen ist gut – wähle die klarere Form.

Py: „not ist ein Schalter: an wird aus, aus wird an.“
Lily: „Manchmal ist != freundlicher für den Leser.“
Buggy stapelt not not not und verliert den Überblick.

Neue Wörter

notnot

Logische Verneinung: dreht True/False um.

Negationnegation

Das Umkehren einer Aussage: nicht wahr / nicht falsch.

Was passiert im Computer?

  1. Python wertet den Ausdruck rechts von not zu True/False aus.
  2. not liefert das Gegenteil.
  3. Das Ergebnis steuert z. B. ein if.
hat_ticket = False
darf_rein = not hat_ticket # True – „kein Ticket“ ist hier nur Demo-Logik
print(darf_rein)

(In echten Regeln wäre „kein Ticket“ eher Absage – die Logik bestimmst du!)

Häufige Fallen

FalleBesser
zu viele not stapelnumformulieren, bis es klar ist
not x == y unleserlichoft x != y
Doppelpunkt bei if vergessenif not fertig:
not ohne Klammern bei komplexen Ausdrückenbei Bedarf (...) setzen
# oft klarer:
if name != "gast":
print("Hallo Mitglied")

# statt:
if not name == "gast":
print("Hallo Mitglied")

Beide können dasselbe tun – Lesbarkeit zählt.

Probiere es selbst

Experiment 1

print(not 2 == 2) # False
print(not 2 == 3) # True

Experiment 2 – Schlüssel

hat_key = False
if not hat_key:
print("Schluessel holen!")

Experiment 3 – Vergleich der Formen

a = 5
b = 7
print(not a == b)
print(a != b)

Experiment 4 – fertig?

fertig = input("Fertig? (ja/nein) ").strip().lower()
if not fertig == "ja":
print("Weiter geht's")
else:
print("Super, geschafft!")

Fehlerdetektiv

x = 3
if not x == 5:
print("nicht fuenf")
Loesung anzeigen

Funktioniert, aber oft klarer:

if x != 5:
print("nicht fuenf")

Übungen

Level 1 – Entdecken

Was ist not False und not (10 < 3)?

Loesung
print(not False) # True
print(not (10 < 3)) # True

Level 2 – Anwenden

licht_an = True. Wenn nicht an, Meldung „Licht einschalten“.

Loesung
licht_an = True
if not licht_an:
print("Licht einschalten")
else:
print("Licht ist an")

Level 3 – Erweitern

Passwort-Check: wenn Eingabe nicht "club" (nach strip/lower), Absage, sonst Willkommen.

Loesung
pw = input("Passwort: ").strip().lower()
if not pw == "club":
print("Zugang verweigert")
else:
print("Willkommen")
# oder: if pw != "club":

Mini-Challenge

Baue einen Status-Check mit bool-Variable bereit.
Wenn nicht bereit → Motivationssatz, sonst Start.
Erkläre: Wann ist != besser als not ... ==?

Zusammenfassung

  • not dreht True ↔ False.
  • Nützlich für „wenn nicht …“.
  • Oft ist != lesbarer als not ... ==.
  • Nicht zu viele Negationen stapeln.
  • Wahrheitstabelle: nur zwei Zeilen, aber zentral.

Mini-Quiz

Mini-QuizWas ist not True?
  1. Was macht not?
  2. Was ist oft die Alternative zu not x == y?
  3. Was ist not False?
Loesungen
  1. Es kehrt einen Wahrheitswert um.
  2. x != y.
  3. True.

not sitzt! Als Nächstes: komplexe Bedingungen lesbar schreiben.