私はユーザーに式を求め、その式を関数内で実行したいと考えています。これは私がこれまで持っていたものです。私は16を与えるために "2 ** 4"のような文字列を評価する方法を見てきましたが、5 * xを入力できるようにしたいので、式は "y = 5 * x"となり、func(4)は20を返します。Python - 文字列入力を関数に変換する
formula = raw_input("y= ")
formula = "y=%s" % formula
def func(x):
formula # I have also tried eval(formula)
return y
私はこれを回避しようとしたもう一つの方法は、私がinputedおよび実行されている悪質なコードについて心配していないので、使用するためだけにこれは、次の
formula = raw_input("y= ")
formula = "y+=%s" % formula
def func(x):
y = 0
formula # and here I tried eval(formula) again
return y
を行うことです。助けを おかげであなたはeval
とかなり近いです
に入力ボックス結果にを入力します可能な複写[文字列内の数式の評価](http://stackoverflow.com/questions/2371436/evaluating-a-mathematical-expression-in-a-string) –
私はそれを見ましたが、それはうまくいくようでした特定の値の入力(すなわち、2 ** 4)に対しては、指定を生成しないc関数(すなわち、 y = 5x)ここで、xはその関数の入力です。 – Csquared
おそらくあなたはSymPyを使うことができます。 – Evert