使循环定义为各种大小

时间:2019-03-03 17:18:33

标签: python function loops truthtable

所以我正在做一个基本的真值表功能。在此示例中,公式具有4个值,因此需要4个循环。我可以通过定义公式中的值数量并为其循环的def吗?

def Formula1(a,b,c,d):
    return ((a & c) | (b & c) | (d & c))

for a in range(0,2):
    for b in range(0,2):
        for c in range(0, 2):
            for d in range(0, 2):
                #printtable(a,b,c,d)
                print(a,b,c,d,"=",Formula1(a,b,c,d))

例如,这里的公式有5个值,需要5个循环。

def Formula2(a,b,c,d,e):
    return ((not a & b) | (c & b) | (d & (not e)))

1 个答案:

答案 0 :(得分:2)

使用t = threading.Thread(target=myfunc).start()

itertools

结果(import itertools def Formula1(a, b, c, d): return ((a & c) | (b & c) | (d & c)) if __name__ == '__main__': table = list(itertools.product([False, True], repeat=4)) for a,b,c,d in table: print("{}, {}, {}, {} = {}".format(a, b, c, d, Formula1(a, b, c, d)) 是所有组合):

table