Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Boolesche Werte und Variablen ===== <WRAP round info> 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). Achtung: Die Tabellen sind nur bei ausreichender Fensterbreite vernünftig lesbar. <WRAP group> <WRAP third column> Logisches ''und''/''and'' (Konjunktion): <WRAP round box 60%> |and ^ True ^ False ^ ^ True | True | False | ^ False | False | False | </WRAP> </WRAP> <WRAP third column> Logisches ''oder''/''or'' (Disjunktion): <WRAP round box 60%> |or ^ True ^ False ^ ^ True | True | True | ^ False | True | False | </WRAP> </WRAP> <WRAP third column> Logisches ''nicht''/''not'' (Negation, Verneinung): <WRAP round box 50%> | x ^ True ^ False ^ | not x | False | True | </WRAP> </WRAP> </WRAP> Eine Variable, die als Wert ''True'' oder ''False'' hat, wird als **Boolesche Variable** bezeichnet (englisch //boolean//). </WRAP> <WRAP round info> Vergleiche liefern Boolesche Werte: * ''=='': gleich für Gleichheit; beispielsweise hat ''2==5'' den Wert ''False'' <WRAP right round important 50%> Achtung: Das einzelne Zeichen ''='' ist beim Programmieren ein Zuweisungszeichen und kein Gleichheitszeichen wie in der Mathematik! </WRAP> * ''!='': ungleich für Ungleichheit; ''a != b'' und ''not (a == b)'' haben dieselbe Bedeutung * ''<'', ''<nowiki><=</nowiki>'', ''>'', ''>='': kleiner, kleiner-gleich, grösser, grösser-gleich </WRAP> <WRAP round todo> Welche Ausgaben erwartest du bei dem folgenden Programm? Erst denken, dann testen! <code python> 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. </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> ===== Link zur Kursseite ===== [[lehrkraefte:snr:informatik:glf21|Zur Kursseite]] lehrkraefte/snr/informatik/python/boolsche-werte.txt Last modified: 2022/01/11 20:41by Olaf Schnürer