Fachkonzept - Wahrheitswerte
Datentyp Wahrheitswerte
Wahrheitswerte spielen bei der Auswertung von Bedingungen eine zentrale Rolle. Eine Bedingung ist dabei wahr oder falsch (oder nicht auswertbar, wenn Variablen noch keinen Wert haben).
Der Datentyp Wahrheitswerte beschreibt die Menge {True
, False
} der
Wahrheitswerte zusammen mit den Operatioren not
, and
und or
,
die man mit Wahrheitswerten ausführen kann.
In Python wird der Datentyp Wahrheitswerte mit bool
bezeichnet.
Das Verhalten der logischen Operatoren wird mit Wahrheitstafeln festgelegt.
not
-Operator
A | not A |
---|---|
False | True |
True | False |
and
-Operator
A | B | A and B |
---|---|---|
False | False | False |
False | True | False |
True | False | False |
True | True | True |
or
-Operator
A | B | A or B |
---|---|---|
False | False | False |
False | True | True |
True | False | True |
True | True | True |
Terme vom Typ Wahrheitswerte
Terme vom Typ Wahrheitswerte spielen eine zentrale Rolle bei der Beschreibung von Bedingungen.
Bedingungen werden durch logische Berechnungsausdrücke (d.h. Terme vom Datentyp Wahrheitswert) dargestellt.
Wie solche Terme aufgebaut sein können, soll im Folgenden anhand einfacher Beispiele aufgezeigt werden.
Häufig werden Bedingungen mit Vergleichsoperatoren gebildet.
Beispiel:
# Eingabe
zahl = int(input('Zahl: '))
# Verarbeitung und Ausgabe
if zahl % 2 == 0:
print(zahl, 'ist gerade.')
else:
print(zahl, 'ist ungerade.')
Mehr über Vergleichsoperatoren und ihre Darstellung in Python findest du weiter unten.
Zusammengesetzte Bedingungen erhält man, wenn man Bedingungen mit Hilfe logischer Operatoren verknüpft.
Beispiel:
# Eingabe
zahl = int(input('Zahl: '))
# Verarbeitung und Ausgabe
if (zahl % 2 == 0) and not (zahl % 3 == 0):
print(zahl, 'ist durch 2, aber nicht durch 3 teilbar.')
Bedingungen können auch logische Variablen enthalten. Logische Variablen sind Variablen, die einen Wahrheitswert verwalten.
Beispiel:
# Eingabe
zahl = int(input('Zahl: '))
# Verarbeitung
istNull = (zahl == 0)
istPositiv = (zahl > 0)
# Ausgabe
if not (istNull or istPositiv):
print(zahl, 'ist negativ.')
Eine Bedingung kann auch nur aus einer logischen Variablen bestehen.
Beispiel:
# Eingabe
zahl = int(input('Zahl: '))
# Verarbeitung
istNull = (zahl == 0)
istPositiv = (zahl > 0)
istNegativ = not (istNull or istPositiv)
# Ausgabe
if istNegativ:
print(zahl, 'ist negativ.')
In Bedingungen können zudem logische Funktionen vorkommen. Das sind Funktionen, die ein Ergebnis vom Typ Wahrheitswert zurückliefern.
Beispiel:
def istGerade(zahl):
ergebnis = (zahl % 2 == 0)
return ergebnis
# Eingabe
zahl = int(input('Zahl: '))
# Ausgabe
if istGerade(zahl):
print(zahl, 'ist gerade.')
Vergleichsoperatoren
Die folgende Tabelle zeigt, wie man Objekte miteinander vergleichen kann.
Operator | Bedeutung | Vergleich | Ergebnis |
---|---|---|---|
== | gleich | 4 == 3 | False |
!= | ungleich | 'w' != 'W' | True |
Beachte den Unterschied zwischen dem Zuweisungszeichen =
und dem Gleichheitszeichen ==
.
Für numerische Datentypen (d.h. int
, float
und bool
) gibt es
weitere Operatoren zum Größenvergleich:
Operator | Bedeutung | Vergleich | Ergebnis |
---|---|---|---|
< | kleiner | 2 < 1 | False |
> | größer | 4 > 2 | True |
<= | kleiner oder gleich | 3 <= 3 | True |
>= | größer oder gleich | 3 >= 4 | False |