lehrkraefte:snr:informatik:python:boolsche-werte

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:python:boolsche-werte [2021/09/13 17:37]
Olaf Schnürer
lehrkraefte:snr:informatik:python:boolsche-werte [2022/01/11 20:41] (current)
Olaf Schnürer [Boolesche Werte und Variablen]
Line 4: Line 4:
 Die Wahrheitswerte ''wahr'' oder ''falsch'' bzw. auf Englisch und in Python ''True'' oder ''False'' werden auch als **Boolesche Werte** (nach [[https://de.wikipedia.org/wiki/George_Boole|George Boole]]) bezeichnet.  Die Wahrheitswerte ''wahr'' oder ''falsch'' bzw. auf Englisch und in Python ''True'' oder ''False'' werden auch als **Boolesche Werte** (nach [[https://de.wikipedia.org/wiki/George_Boole|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).+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; beachteTrue or True = True)
 + 
 +Achtung: Die Tabellen sind nur bei ausreichender Fensterbreite vernünftig lesbar.
 <WRAP group> <WRAP group>
  
Line 50: Line 52:
 Achtung: Das einzelne Zeichen ''='' ist beim Programmieren ein Zuweisungszeichen und kein Gleichheitszeichen wie in der Mathematik! Achtung: Das einzelne Zeichen ''='' ist beim Programmieren ein Zuweisungszeichen und kein Gleichheitszeichen wie in der Mathematik!
 </WRAP> </WRAP>
-  * ''!='': ungleich für Ungleichheit; ''a != b'' und ''not (a != b)'' haben dieselbe Bedeutung +  * ''!='': ungleich für Ungleichheit; ''a != b'' und ''not (a == b)'' haben dieselbe Bedeutung 
-  * ''<'', ''<nowiki><=</nowiki>'', ''>'', ''>='': kleiner, kleiner-gleich, grösser, grösser-gleich  +  * ''<'', ''<nowiki><=</nowiki>'', ''>'', ''>='': kleiner, kleiner-gleich, grösser, grösser-gleich
 </WRAP> </WRAP>
- 
- 
  
 <WRAP round todo> <WRAP round todo>
Line 62: Line 62:
 print(2 < 5) print(2 < 5)
 print((235236235 < 2346346) or True) print((235236235 < 2346346) or True)
- 
  
 a = (5 != 6)   a = (5 != 6)  
 # a ist eine Boolesche Variable # a ist eine Boolesche Variable
-# Es ist erlaubt, hier die Klammern wegzulassen, denn != bindet staerker als =.+# 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. # Klammern verbessern aber oft die Lesbarkeit und dienen der Fehlervermeidung.
 # (Nur als Vielprogrammierer wird man sich genau merken können, was staerker bindet.) # (Nur als Vielprogrammierer wird man sich genau merken können, was staerker bindet.)
 print(a) print(a)
  
-b = not (False or (True and (2<5)))+b = not (False or (True and (2 < 5)))
 print(b) 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.
 </code> </code>
 +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. 
 </WRAP> </WRAP>
  
-<WRAP round todo> +===== Link zur Kursseite =====
-Das folgende Programm bestästigt die obigen Tabellen (dass man die Laufvariable einer Schleife auch über eine Liste wie ''[True, False]'' laufen lassen kann, ist eigentlich noch unbekannt): +
-<code python> +
-for x in [True, False]: +
-    for y in [True, False]: +
-        print("%-5s and %-5s ergibt %-5s" % (x, y, x and y))+
  
-print(""+[[lehrkraefte:snr:informatik:glf21|Zur Kursseite]]
-         +
-for x in [True, False]: +
-    for y in [True, False]: +
-        print("%-5s or %-5s ergibt %-5s" % (x, y, x or y)) +
- +
-print(""+
- +
-for x in [True, False]+
-    print("not %-5s ergibt %-5s" % (x, not x)) +
- +
-</code> +
-</WRAP>+
  
  
  • lehrkraefte/snr/informatik/python/boolsche-werte.1631547459.txt.gz
  • Last modified: 2021/09/13 17:37
  • by Olaf Schnürer