2017-07-26 10 views
3

計算せずに代用のSymPy式を印刷することはできますか?置換表現と結果の両方を出力したい。数値評価のない置換表現を印刷する

x = Symbol('x') 
expr = x**2 
pprint(expr) # this prints expression 
result = expr.subs({x:2}) 
print(result) # this print result 4 

「中間結果」の式2**2を印刷するにはどうすればよいですか?

答えて

2

下図のようにあなたは、この目的のためにUnevaluatedExprに渡すことができます。

result = expr.subs(x, UnevaluatedExpr(2)) 
print(result) # prints 2**2 
result = result.doit() 
print(result) # prints 4 

ドキュメント:Prevent expression evaluation

関連する問題