问题描述
我试图建立一个真值表生成器进行练习。这是我写的:
from itertools import product,tee
def variables_truth(num=2):
#Return a list of True and False according to the num of Variables
#Such as (T,T,F,F)(T,F) with num = 2
booleans = {True : 1,False : 0}
data = list(product(booleans.keys(),repeat=num))
return [[elem[i] for elem in lst] for i,lst in enumerate(tee(data,len(data[0])))]
def AND(a,b):
return [p and q for p,q in zip(a,b)]
def OR(a,b):
return [p or q for p,b)]
def NOT(a):
return [not p for p in a]
def EQUIV(a,b):
return [p is q for p,b)]
def IMPLIES(a,b):
return [(not p) or q for p,b)]
这样我可以做类似的事情:
X,Y = variables_truth()
IMPLIES(X,AND(X,NOT(Y)))
应输出:
[False,True,True]
如何返回主函数的参数,以便可以打印出每个真相列表(当然,无需再次编写参数)?
在上面的示例中,我希望拥有:
NOT(Y)
[False,False,True]
AND(X,NOT(Y))
[False,False]
如果不可能的话,请您能告诉我您将如何做?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)