2017-12-25 25 views

答えて

1

することができます「という文字列に記号を割り当てようとしましたので、あなたが動作しませんでしたどのような理由があります(例えば、 'a' = 1は同じ理由で失敗します)。あなたが対話的に作業し、シンボルと同じ名前の変数を希望する場合は

私は「sympyインポート*から」使用している場合

>>> var(','.join(variables)) # variables = ['x', 'y', 'z'] 
(x, y, z) 
3

いくつかの問題:

  1. 入力文字列がsympy.symbolsへの呼び出しにより変異されることはありません。
  2. varの各要素を引数としてsymbolsを呼び出して、文字列引数'i'でコールをハードコーディングする必要があります。
  3. iへの代入は無意味です。次の反復ではiという名前が次の要素var(これは使用しない場合もあります)に再割り当てされるためです。

したがって、symbolsにはすべての要素がvarであり、戻り値はどこかに格納する必要があります。

>>> import sympy 
>>> var_as_strings = ['x', 'y', 'z'] 
>>> var_as_symbol_objects = [sympy.symbols(v) for v in var_as_strings] 
>>> var_as_symbol_objects 
[x, y, z] 
>>> type(var_as_symbol_objects[0]) 
<class 'sympy.core.symbol.Symbol'> 

(Iは、例えば、自己文書を作成することが過度に冗長な変数名を使用していました。)

+0

を書いて、「シンボルに(V)」ではなく「sympyを書くことができます。記号(v) "、それはまた働くべきであるか。 @timgeb – Push

+0

@PushanSharmaはい – timgeb

関連する問題