Der Datentyp «Wahrheitswert» kennt nur zwei Zustände: Wahr oder Falsch, auf Englisch True oder False. Dieser Wert lässt sich in einem Bit speichern als 1 oder 0.
Werte
Wahrheitswerte können direkt gesetzt werden:
a = True
b = False
print(a, b)Vergleiche
Wenn man Zahlen oder Text mit <, >, <=, >=, == oder != vergleicht, dann ist das Ergebnis ein Wahrheitswert. Häufig verwendet man das in if- oder while-Strukturen.
print(4 < 5)
print("a" < "b")
print(0 >= 17)Unterprogramme
Man kann auch relativ einfach ein Unterprogramm schreiben, welches einen Wahrheitswert zurückliefert.
import math
def ist_quadratzahl(x):
wurzel = math.sqrt(x)
gerundet = round(wurzel)
return wurzel == gerundet
print(ist_quadratzahl(9))
print(ist_quadratzahl(19))Aufgabe: Quadratzahl
Teste das obenstehende Beispiel aus:
- was geschieht?
- wie wird das Ergebnis berechnet?
Operatoren
Mit den logischen Operatoren können zwei Wahrheitswerte miteinander verknüpft werden. Das Ergebnis ist wieder ein Wahrheitswert. Man kann mit diesen Wahrheitswerten «rechnen».
| Operand | Operation | Bemerkung |
|---|---|---|
and | logisches AND | nur True, falls a und b True |
or | logisches OR | True, wenn mindestens a oder b True |
not | Inverter/Negation | aus True wird False, und umgekehrt |
AND (logisches UND)
Wenn es regnet und kalt ist, kann die Strasse gefrieren.
| a | b | a and b | |
|---|---|---|---|
False | False | False | |
False | True | False | |
True | False | False | |
True | True | True |
a = False
b = True
ergebnis = a and b
print(ergebnis)print(False and False)
print(False and True)
print(True and False)
print(True and True)OR (logisches ODER)
Wenn es regnet oder schneit, nehme ich einen Schirm mit.
| a | b | a or b | |
|---|---|---|---|
False | False | False | |
False | True | True | |
True | False | True | |
True | True | True |
a = False
b = True
ergebnis = a or b
print(ergebnis)print(False or False)
print(False or True)
print(True or False)
print(True or True)NOT (logische Negation)
Wenn es nicht regnet, lasse ich den Schirm zu Hause
no ist ein Spezialfall – und zwar weil not nur aus einem Wahrheitswert einen Neuen berechnet:
| a | not a | |
|---|---|---|
False | True | |
True | False |
a = False
ergebnis = not a
print(ergebnis)print(not False)
print(not True)