Python逻辑值表达式和解释

时间:2017-10-05 21:04:29

标签: python

我真的不知道应该从哪里开始解决这个问题。我的任务是编写一个带有两个参数的函数解释:逻辑表达式和解释(每个命题符号赋值为true或false的表)。解释应以字典的形式进行。

逻辑表达式可以是以下之一(而不是其他):

  • 其中一个逻辑常量"true""false"(应该是这些字符串,不是真和假)

  • 引号内的命题符号,例如"p""q""cat_gone"

  • ["NOT", <logical expression>]

  • 形式的表达式
  • [logical expression 1, "OR", logical expression 2]

  • 形式的表达式
  • [logical expression 1, "AND", logical expression 2]

  • 形式的表达式

此逻辑中的无效表达式示例为["cat_asleep", "OR", "door_open", "OR", "cat_gone"]

任务是编写一个函数解释,它接受两个参数,一个有效的表达式和一个解释,并在这个特定的解释中给出关于整个表达式是否为真的真相。逻辑常量和表达式应该作为字符串进行管理,因此您需要为布尔操作实现自己的函数。

输入和输出示例

interpret(["door_open", "AND", "cat_gone"], 
           {"door_open" : "false", "cat_gone" : "true", "cat_asleep" : "true"} )
'false'   

interpret(["cat_asleep", "OR", ["NOT", "cat_gone"]],
               {"door_open" : "false", "cat_gone" : "true", "cat_asleep" : "true"})
'true'

有人可以向我解释一下我应该在这做什么以及如何处理这个问题?我知道它解释得相当好,但我不理解它。是否有一些视频或指南经历了像这样的问题?

0 个答案:

没有答案