首页 > 解决方案 > 给定一个函数,如何获取传递给它的参数?

问题描述

这就是我想要做的。我有一个Prop这样定义的类:

class Prop:
    def __init__(self, val, name=None):
        self.val=val
        self.name=name
    def getVal(self):
        return self.val
    def giveName(self, newname):
        self.name=newname
    def getName(self, name):
        return self.name
    def changeVal(self, newval):
        if type(newval)!=bool:
            raise ValueError("You are trying to assign non-boolean value to the proposition")
        else:
            self.val=newval

正如您所理解的,Prop对象应该被视为具有布尔值的命题,每个命题都被赋予了布尔值。我还定义了一个标准的布尔函数,含义:

def impl(p, q):
    if p.getVal()==True and q.getVal()==False:
        return Prop(False)
    else:
        return Prop(True)

现在我想做的是定义一个函数,它将像这样的表达式impl(impl(p,q), r)作为它的第一个参数和一个Prop对象列表 ( [p,q,r]) 作为第二个参数,并检查这个表达式对于列表中的命题是否为真. 一件重要的事情:如果表达式中提到的列表中没有命题,我们的程序应该将此命题视为假命题。我怎样才能做到这一点?

标签: pythonboolean-logic

解决方案


推荐阅读