Hey Stack Overflow社区, 我的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)
答案 0 :(得分:1)
您可以创建一个调度表。您可以使用Python dict
执行此操作。例如,假设函数x2
的{{1}}和x**2
的{{1}}。您可以将dict定义为:
x3
在此处引用函数之前,必须先定义函数x**3
和dispatch_dict = {
"x2": do_x2,
"x3": do_x3
}
。然后你可以这样做:
do_x2
然后,您可以拨打do_x3
来呼叫if func not in dispatch_dict:
print("No such function")
else:
f = dispatch_dict[func]
。