シンボルのブール変数のブール演算は を生成しますTypeError
が、逆は問題ありません:
>>> from sympy import *
>>> x = Symbol('x', bool=True)
>>> x ^ True
Not(x)
>>> True ^ x
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
True ^ x
TypeError: unsupported operand type(s) for ^: 'bool' and 'Symbol'
私はtry-catchを行うことができます:
try :
print True ^ x
except TypeError:
print x ^ True
Not(x)
しかし、現在のタスクでは、try-except
200 個までのシンボルを処理する必要があるため、これを実装することは不可能です。どうすればこれを達成できますか?