""" Print of Logic tables """ import operator anzahlVariablen = int(input("Anzahl Variablen [1...9]: ")) x = [] for index in range(anzahlVariablen): x.append(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 Erhoehen(nr, feld): for index in range(1, anzahlVariablen + 1): if (nr + 1) % index == 0: x[index - 1] = not x[index - 1] UeberschriftxTeil = "" for index in range(anzahlVariablen): UeberschriftxTeil += f"x{index+1} " Ueberschrift = f" Index | {UeberschriftxTeil} | and or xor" print(Ueberschrift) print("-" * len(Ueberschrift)) for Zeile in range(2**anzahlVariablen): # xTeil = [x[xIndex] for xIndex in range(len(x))] xTeil = "" for index in range(anzahlVariablen, 0, -1): xTeil += f"{x[index-1]:2} " print(f"{Zeile:5} ({Zeile:02X}) | {xTeil} | {Und():3} {Oder():3} {ExOder():3}") Erhoehen(Zeile, x)