通过用户输入计算的功能值

时间:2017-10-17 21:02:34

标签: python

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)  

1 个答案:

答案 0 :(得分:1)

您可以创建一个调度表。您可以使用Python dict执行此操作。例如,假设函数x2的{​​{1}}和x**2的{​​{1}}。您可以将dict定义为:

x3

在此处引用函数之前,必须先定义函数x**3dispatch_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]