我目前正在尝试编写一个函数,它以两个真值函数作为参数,并根据它们在逻辑上是否等价返回一个布尔值。例如,假设main函数是
def logical_equiv(function1, function2):
#function1 and function2 are truth functions
我做了一个检查,看看传入的两个函数是否相同
def logical_equiv(function1, function2):
if function1 == function2:
return True
但是如何检查函数1和函数2的实际返回值呢?更清楚地说,假设function1取两个参数P和Q,然后返回(不是P)或(不是Q),function2也取两个参数P和Q,然后返回不(P和Q),我如何在我的逻辑等价函数中检查这一点?我试过了
def logical_equiv(function1, function2):
if function1 == (not P) or (not Q):
#do something
但这会返回错误NameError: name 'P' is not defined
从logical_equiv打印出函数将返回内存地址。你知道吗
如果要查看它们是否使用相同的参数在逻辑上等价:
然后:
这可以扩展到任意数量的参数:
如果需要为
n
参数测试[True, False]
的所有有效组合,则可以执行以下操作:我想你应该:
当然,您需要定义
P
和Q
。请记住,function1
只是对函数的引用,而function1()
调用函数并返回其值。你知道吗另外,要检查
function1
和function2
的输出是否相等,只需执行以下操作:相关问题 更多 >
编程相关推荐