В отношении принятого решения в: SO: expression_evaluator
Может ли кто-нибудь предоставить версию, которая также работает с отрицанием? такие вещи, как
((!(0 or !1) and !((0 or 1 or 1) and !1))
тоже надо работать.
У меня это работает, так что отрицание 0 или 1 хорошо, но я не могу заставить его работать с отрицанием целых групп (! В начале скобок)
Я пытался отменить tmp после возврата из eval в блоке * expr == '(' ... если! Был замечен до его вызова, но это не сработало.