Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用最外层的AND运算符拆分布尔表达式_Python_Boolean_Expression - Fatal编程技术网

Python 用最外层的AND运算符拆分布尔表达式

Python 用最外层的AND运算符拆分布尔表达式,python,boolean,expression,Python,Boolean,Expression,在python中,如何通过AND运算符在较少的代码行中拆分包含AND、OR子句的布尔表达式。是否有一些功能或模块支持此类操作 如果表达式是-- ((a及b)或(c及d))及(d或a) 我只想把它分成最外面的部分 {((a和b)或(c和d)),(d或a)} PS-AND和OR是python运算符,而不是字符串。如果您的意思是 >>> some_operation((a and b) and c) (a and b), c 那你就不能。表达式是在调用任何函数之前求值的,在pyth

在python中,如何通过AND运算符在较少的代码行中拆分包含AND、OR子句的布尔表达式。是否有一些功能或模块支持此类操作

如果表达式是-- ((a及b)或(c及d))及(d或a) 我只想把它分成最外面的部分 {((a和b)或(c和d)),(d或a)}


PS-AND和OR是python运算符,而不是字符串。

如果您的意思是

>>> some_operation((a and b) and c)
(a and b), c
那你就不能。表达式是在调用任何函数之前求值的,在python中没有语法可以这样做。我不太清楚你为什么要这么做


如果这不是你的意思,那么请解释。

你拆分它们的确切目的是什么?是否要获取语句的字符串表示形式并拆分它?是否要分别查找由“和”分隔的顶级语句的真值?为什么您必须以编程方式而不是手动方式分离这些表达式?我有一个创建随机大型布尔表达式的程序。我想知道一个给定的表达式有多“真实”。我选择这样做,将其分解为以AND分隔的子句,并检查对于给定表达式有多少这样的子句是真的。