【发布时间】:2019-11-26 10:53:19
【问题描述】:
我的目标是在 python 中制作一个真值表,这是我的代码:
from re import findall
string = "xyz"
def getChars(str):
listChars = findall(r"\w", str)
return listChars
def createCharsTruthTable(lst):
n = 2 ** len(lst)
boolList = [[True for x in range(n)] for j in range(len(lst))]
num_of_T = n / 2
for i in range(len(boolList)):
for j in range(len(boolList[i])):
if j >= num_of_T:
boolList[i][j] = False
num_of_T /= 2
return boolList
createCharsTruthTable(getChars(string))
问题是输出是……
[[True, True, True, True, False, False, False, False], [True, True, False, False, False, False, False, False], [True, False, False, False, False, False, False, False]]
第一个列表是正确的。我唯一的问题是后续列表,第二个列表是...
[True, True, False, False, False, False, False, False]
我的问题是如何将其变成...
[True, True, False, False, True, True, False, False]
【问题讨论】:
-
您对真相的预期公式是什么?
-
我没有使用任何公式作为基础。我只是编写了我认为将是获得预期输出的答案的代码。
-
也许我的“预期”与您的“预期”不同?你不认为用更简单的术语分享你“期望”代码做什么有用吗?否则,如果我们一开始不知道代码应该做什么,作为您问题的读者,我们如何判断代码中的错误是什么?
-
好吧,我的坏家伙,这是我第一次发布问题
-
@Absorption,你能指出你所说的真值表是什么意思吗?我认为真值表的意思只是真值表变量列中的值分配:en.wikipedia.org/wiki/Truth_table
标签: python list truthtable