2017-10-17 24 views
0

Hey Stack Overflow Community、 私はPythonコードに特定の質問があります。次のアプリケーションでは、ユーザーが関数、x値の間隔とステップ幅を入力した後、関数値を計算する必要があります。今私は問題がある、私は知らない、どのように関数に単一のx値を挿入する。私は関数x^2のためにここでそれを行いましたが、より多くの個別のユーザー関数で動作するはずです。だから私はすべての関数とその計算を初期化する必要はありません。 既にありがとうございます。ユーザー入力によって計算された関数値

from math import sqrt 

xv = [] 
y = [] 

def AddSpace (x): 
    print ("\n" * x) 


AddSpace (4) 
func = input ("Funktion: ") 
ug = input ("Untere Grenze: ") 
og = input ("Obere Grenze: ") 
sw = input ("Schrittweite: ") 

#-------------------------------------- 
def x_werte(ug, og, sw): 
    g = ug 
    while (g >= ug and g <= og): 
     xv.append (g) 
     g += sw 

x_werte (int (ug), int (og), float (sw)) 

#-------------------------------------- 

def y_werte(): 
    if func == "x**2": 
     for p in range (0, len (xv)):  
      y.append (float (xv [p])**2) 

答えて

1

ディスパッチテーブルを作成できます。これはPython dictで行うことができます。たとえば、x**2の場合はx2x**3の場合はという名前の関数があるとします。ここではそれらを参照する前に定義しなければならないであろう

dispatch_dict = { 
    "x2": do_x2, 
    "x3": do_x3 
} 

機能do_x2do_x3:君は辞書を定義することができます。次に、あなたが行うことができます。

if func not in dispatch_dict: 
    print("No such function") 
else: 
    f = dispatch_dict[func] 

をあなたは、あなたは、例えばy_werteを呼び出しますfを呼び出すことができます。

関連する問題