通过用户inpu计算的函数值

2024-05-03 08:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,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)  

Tags: 函数用户inputdefswfloatintog
1条回答
网友
1楼 · 发布于 2024-05-03 08:15:02

您可以创建分派表。您可以使用Python dict实现这一点。例如,假设函数被命名为x2表示x**2,而x3表示x**3。您可以将dict定义为:

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]

然后您可以调用f,例如,您可以在其中调用y_werte

相关问题 更多 >