Wahrheitstabelle als Python code?
Hi,
ich bin gerade ein Anfänger im Programmieren und wollte fragen ob die folgende Python-Funktion äquivalent zur Wahrheitstabelle ist? (Siehe Bild)
Müsste man hier evtl stattdessen oder alternativ mit Negationen die Funktion aufstellen? Weil als DNF Funktion würde man ja die einzelnen if statements bei den variable mit x, y, z als auch deren negierten Komponenten not x, not y, not z aufstellen.
Danke im Voraus!
2 Antworten
Ich denke, dass die angegebene Funktion die gezeigte Tabelle korrekt implementiert. Du kannst das testen mit einer Anweisung der Art
for x in [False, True]:
for y in [False, True]:
for z in [False, True]:
print(x, y, z, bool(x, y, z))
Anmerkung 1:
Die Tabelle hat 6 Zeilen, die das Ergebnis 1 enthalten und nur 2 Zeilen, die das Ergebnis 0 enthalten. Du kommst mit einer kürzeren Funktion aus, wenn du die zwei Fälle prüft, die das Ergebnis False verlangen und ansonsten das Ergebnis True zurück gibst.
Anmerkung 2:
Statt x == True genügt es, x zu schreiben. Statt x == False kann man not x schreiben
sieht gut aus... aber: magst du es nicht vereinfachen?
Beispiel:
return y || x==z