Seite 1 von 1

Logisches UND und ODER

Verfasst: Dienstag 13. Oktober 2020, 00:53
von PyPaiX
Servus,

Ich habe angefangen Python zu lernen und bin ein kompletter Neuling, wenn es um das Programmieren geht.
Jetzt steht in meinem Textbuch zu Boolesche Werte, dass es ein Logisches UND und ODER gibt und ich verstehe es nicht ganz. Nach einer weile googlen ist UND ein * und ein ODER ein +.
Wenn jetzt True und False, laut Textbuch, als 1 und 0 definiert werden heißt es also, dass (hier hab ich Probleme)
>>> x and not y
True
also 1 * negiertes y, also wieder 0(?) = 1 ist, was keinen Sinn ergibt.
Kann mir da jemand helfen: Was bedeuten UND, ODER, NOT, warum macht mein Beispiel, welches ich aus dem Textbuch geholt habe momentan für mich keinen Sinn?

Danke :D

Re: Logisches UND und ODER

Verfasst: Dienstag 13. Oktober 2020, 08:10
von sparrow
Lös dich mal von der Darstellung der Zahlen.
Etwas kann True (wahr) oder False (falsch).

Code: Alles auswählen

>>> t = True
>>> f = False
>>> t
True
>>> t and f
False
>>> t and not f
True
Wandel das mal in Sprache:
"Ist t wahr" -> das ist wahr
Ist t wahr UND ist f wahr -> das ist falsch
Ist t wahr UND f NICHT wahr -> das ist wahr.

Re: Logisches UND und ODER

Verfasst: Dienstag 13. Oktober 2020, 11:30
von __blackjack__
@PyPaiX: Bei dem Beispiel mit `x` und `y` hast Du vergessen uns zu verraten welche Werte `x` und `y` denn haben.

Wenn Du sagst UND ist * und ODER ist + dann sind damit nicht die Operationen * und + gemeint wie sie auf der Menge der ganzen Zahlen ℤ definiert sind, sondern nur, dass die vergleichbare Eigenschaften haben wie ein neutrales Element bezüglich der jeweiligen Operation und ähnliches. Siehe Ring (Algebra) für mehr Details.

Ringe, Körper, abel'sche Halbgruppen, und das ganze mathematische drumherum ist hier für das grundlegende Verständnis von boole'scher Algebra aber nicht wirklich wichtig. Die logischen Operatoren UND, ODER, und NICHT kann man zwar in der Programmierung (in fast allen Programmiersprachen) nicht ganz so verwenden wie man das umgangssprachlich tut, aber es ist schon ziemlich nahe dran. Da braucht man kein Mathematikgrundstudium für. 🙂

Re: Logisches UND und ODER

Verfasst: Dienstag 13. Oktober 2020, 13:47
von snafu
sparrow hat geschrieben: Dienstag 13. Oktober 2020, 08:10

Code: Alles auswählen

>>> t = True
>>> f = False
>>> t
True
>>> t and f
False
>>> t and not f
True
Wandel das mal in Sprache:
"Ist t wahr" -> das ist wahr
Ist t wahr UND ist f wahr -> das ist falsch
Ist t wahr UND f NICHT wahr -> das ist wahr.
Wobei da eigentlich keine Abfragen gemacht werden, sondern Aussagen.

Demnach kann man das auch so erklären:
t and f -> Wahr und Falsch -> Falsch
Grund: Es kann nicht etwas gleichzeitig wahr und falsch sein.

t and not f -> Wahr und nicht Falsch -> Wahr und Wahr -> Wahr
Doppeltes Wahr bleibt wahr. Nicht falsch wird zu Wahr.
(analog dazu würde nicht richtig zu Falsch werden)