如何创建带有随机数变量的真值表生成器,以提取递归函数的参数?

问题描述

我试图建立一个真值表生成器进行练习。这是我写的:

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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...