【PYTHON】python建立動態增長的真值表
2020-10-26 PYTHON
我的問題很簡單:
“如何以一種優雅的方式在python中建立一個動態增長的真值表?”
對於n = 3
for p in False, True:
for q in False, True:
for r in False, True:
print '|{0} | {1} | {2} |'.format(int(p),int(q), int(r))
對於n = 4
for p in False, True:
for q in False, True:
for r in False, True:
for s in False, True:
print '|{0} | {1} | {2} | {3}'.format(int(p),int(q), int(r), int(s))
我想有一個將n作為引數並建立表的函式,沒有必要
打印表,返回代表該表的資料結構也是可以的。
解決辦法
使用 itertools.product() :
table = list(itertools.product([False, True], repeat=n))
n = 3的結果:[(False, False, False),
(False, False, True),
(False, True, False),
(False, True, True),
(True, False, False),
(True, False, True),
(True, True, False),
(True, True, True)]