""" Truth tables """ import operator anzahlVariablen = int(input("Anzahl Variablen [1...9]: ")) 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"x{index+1} " Ueberschrift = f" Index | {UeberschriftxTeil} | and or xor" print(Ueberschrift) print("-" * len(Ueberschrift)) for Zeile in range(2**anzahlVariablen): xTeil = "" for index in range(anzahlVariablen): xTeil += f"{x[index]:2} " print(f"{Zeile:5} ({Zeile:02X}) | {xTeil} | {Und():3} {Oder():3} {ExOder():3}") Erhoehe(Zeile, x)