lehrkraefte:snr:informatik:python:boolsche-werte

Die Wahrheitswerte wahr oder falsch bzw. auf Englisch und in Python True oder False werden auch als Boolesche Werte (nach George Boole) bezeichnet.

Boolesche Werte kann man mit den logischen Verknüpfungen and, or, not kombinieren: Die Verknüpfungen sind durch die folgenden Tabellen definiert (genau wie in der mathematischen Logik; beachte: True or True = True).

Achtung: Die Tabellen sind nur bei ausreichender Fensterbreite vernünftig lesbar.

Logisches und/and (Konjunktion):

and True False
True True False
False False False

Logisches oder/or (Disjunktion):

or True False
True True True
False True False

Logisches nicht/not (Negation, Verneinung):

x True False
not x False True

Eine Variable, die als Wert True oder False hat, wird als Boolesche Variable bezeichnet (englisch boolean).

Vergleiche liefern Boolesche Werte:

  • ==: gleich für Gleichheit; beispielsweise hat 2==5 den Wert False

    Achtung: Das einzelne Zeichen = ist beim Programmieren ein Zuweisungszeichen und kein Gleichheitszeichen wie in der Mathematik!

  • !=: ungleich für Ungleichheit; a != b und not (a == b) haben dieselbe Bedeutung
  • <, <=, >, >=: kleiner, kleiner-gleich, grösser, grösser-gleich

Welche Ausgaben erwartest du bei dem folgenden Programm? Erst denken, dann testen!

print(True and False)
print(2 < 5)
print((235236235 < 2346346) or True)
 
a = (5 != 6)  
# a ist eine Boolesche Variable
# Es ist erlaubt, hier die Klammern wegzulassen, denn das Vergleichszeichen != bindet staerker als das Zuweisungszeichen =.
# Klammern verbessern aber oft die Lesbarkeit und dienen der Fehlervermeidung.
# (Nur als Vielprogrammierer wird man sich genau merken können, was staerker bindet.)
print(a)
 
b = not (False or (True and (2 < 5)))
print(b)
 
# Man kann auch Wahrheitswerte vergleichen
print(True != True)
print(True == (False or True))
 
print((2 < 3) == (-1 <= 0))
# Die Leerzeichen sind hier stets optional, dienen aber der besseren Lesbarkeit:
# print((2<3)==(-1<=0))
# hat dieselbe Bedeutung.

Zur Information: Intern wird True als 1 und False als 0 gespeichert, weswegen Ausdrücke wie print(True == 1) oder print(True > 42) fehlerfrei ausgeführt werden. Guter Programmierstil ist das aber nicht.

  • lehrkraefte/snr/informatik/python/boolsche-werte.txt
  • Last modified: 2022/01/11 20:41
  • by Olaf Schnürer