どうしてこれなの?
>>> eval(str(17*3))
51
>>> t=17;t*3
51
>>> eval(str(t=17;t*3))
File "<stdin>", line 1
eval(str(t=17;t*3))
^
SyntaxError: invalid syntax
>>>
eval() 変数を送信する方法はありますか?
>>> z=input("ins: ");cxc=compile(z,'<string>','exec');y=eval(cxc);print(y)
ins: t=17;t+3
None
>>>
もっと正確に言うべきだったのですが、良い答えに助けられたら、それは普遍的なものになると思いました. しかし、これは@cnicutarの提案を試みる私の実際の使用例です。
>>> z=input("ins: ");y=eval(z);print(y)
ins: 't*13+q', {'q':4,'t':2}
('t*13+q', {'q': 4, 't': 2})
>>>
@LtWorf と @Ghopper21 の実装を試しています。