1
根據關於logic package的sympy文檔,我們可以使用to_cnf
/to_dnf
或simplify_logic(expr, form='cnf'/'dnf')
將任意布爾表達式轉換爲DNF/CNF格式。如何在sympy中獲取DNF/CNF表達式的子句?
但之後,如何從結果中獲得子句?
我們可以嘗試使用args
字段。但使用它非常不方便。例如,如果你將一個簡單的表達式如~a
轉換爲CNF/DNF,那麼你會得到~a
作爲結果,然後調用(~a).args
返回()
,這不是所要求的子句! (當然,我可以用if
檢查解決,但這很難看)