我正在尝试将充满复杂条件的文档解析为逻辑词典。
eval()有帮助,但在涉及材料条件(->)时遇到了麻烦(Python不支持)。
我敢肯定,现有一种算法可以正确地打破这些条件,并以正确的逻辑方式找出每个子条件(这就是我计划在发送前将“ A-> B”更改为“ not(A)或B”的地方)到eval())
我在搜索时找不到有用的东西,希望获得见识。
示例:
Vars(使用代码):
x = True
y = False
m = True
z = False
c = 3
File.txt:
(x && y) || m
(x || m) && (y || z)
((x && y) -> m) || z
(c in {3,5}) && z
所需的输出:
dict = { '(x && y) || m': True,'(x || m) && (y || z)': False,etc.. }