Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
lehrkraefte:sbtsnr:python:logic [2022/09/30 18:16] Karlheinz Schubert |
lehrkraefte:sbtsnr:python:logic [2022/10/19 17:10] Olaf Schnürer [Funktion Erhoehen war falsch] |
||
---|---|---|---|
Line 151: | Line 151: | ||
print(f" | print(f" | ||
Erhoehen(Zeile, | Erhoehen(Zeile, | ||
+ | </ | ||
+ | |||
+ | ====== Funktion Erhoehen oben korrigiert ====== | ||
+ | |||
+ | <code python wahrheitstabelle-step3-verbessert.py> | ||
+ | """ | ||
+ | Truth tables | ||
+ | """ | ||
+ | import operator | ||
+ | |||
+ | anzahlVariablen = int(input(" | ||
+ | x = anzahlVariablen * [False] | ||
+ | |||
+ | def Oder(): | ||
+ | Wert = False | ||
+ | for index in range(anzahlVariablen): | ||
+ | Wert = Wert or x[index] | ||
+ | return Wert | ||
+ | |||
+ | def Und(): | ||
+ | Wert = True | ||
+ | for index in range(anzahlVariablen): | ||
+ | Wert = Wert and x[index] | ||
+ | return Wert | ||
+ | |||
+ | def ExOder(): | ||
+ | Wert = False | ||
+ | for index in range(anzahlVariablen): | ||
+ | Wert = Wert ^ x[index] | ||
+ | return Wert | ||
+ | |||
+ | def Erhoehe(nr, feld): | ||
+ | index = anzahlVariablen - 1 | ||
+ | while feld[index] == True: | ||
+ | x[index] = False | ||
+ | index -= 1 | ||
+ | if index >= 0: | ||
+ | x[index] = True | ||
+ | |||
+ | UeberschriftxTeil = "" | ||
+ | for index in range(anzahlVariablen): | ||
+ | UeberschriftxTeil += f" | ||
+ | Ueberschrift = f" | ||
+ | print(Ueberschrift) | ||
+ | print(" | ||
+ | |||
+ | for Zeile in range(2**anzahlVariablen): | ||
+ | xTeil = "" | ||
+ | for index in range(anzahlVariablen): | ||
+ | xTeil += f" | ||
+ | print(f" | ||
+ | Erhoehe(Zeile, | ||
+ | </ | ||
+ | |||
+ | ====== ... und nun noch etwas rumgesponnen ... ====== | ||
+ | |||
+ | <code python wahrheitstabelle-step3-per-binaerdarstellung.py> | ||
+ | """ | ||
+ | Truth tables | ||
+ | """ | ||
+ | leerzeichen = 4 # sollte mindestens 4 sein | ||
+ | |||
+ | # Unicode-Nummern gefunden auf https:// | ||
+ | vertikal = ' | ||
+ | horizontal = ' | ||
+ | kreuzung = ' | ||
+ | |||
+ | anzahlVariablen = int(input(" | ||
+ | |||
+ | UeberschriftVariablenTeil = "" | ||
+ | UeberschriftLogikTeil = f" | ||
+ | print(UeberschriftVariablenTeil + " " + vertikal + UeberschriftLogikTeil) | ||
+ | print(horizontal * (len(UeberschriftVariablenTeil) + 1) + kreuzung + horizontal * len(UeberschriftLogikTeil)) | ||
+ | |||
+ | for index in range(2 ** anzahlVariablen): | ||
+ | binaer = f' | ||
+ | binearMitAbstand = "" | ||
+ | # # ausführlich: | ||
+ | # und = " | ||
+ | # oder = " | ||
+ | # xOder = " | ||
+ | # print(binearMitAbstand + " vertikal" | ||
+ | |||
+ | # kurz: | ||
+ | print(binearMitAbstand + " " + vertikal + f" | ||
</ | </ |