解析用户输入以确定数学函数类型

时间:2018-12-03 21:13:31

标签: python python-3.x

创建一个程序,该程序接受ax ^ n + bx + c形式的用户输入,其中有任意数量的指数或术语。例如,3x ^ 2和4x ^ 5 + 3x ^ 2都是有效输入。我想接受该输入,然后重新创建它,以便可以评估给定输入的一系列值。到目前为止,我尝试定位x变量,然后定位附近的字符以测试其是否为指数。但是似乎无法正确执行此操作。有没有更简单的方法可以做到这一点?我必须使用标准的python库。

choice = input("Enter a function\n")

for i in choice:
    if i == "x":
        ex = choice.find("x")
        ex = choice[ex+2]
        ex2 = choice.find("x")
        ex2 = choice[ex2+1]
        print(ex)
        print(ex2)
        if ex or ex2 == "+" or "-":
            ex3 = "kill me"
            print("STILL HERE")
        elif ex2 != "^":
            ex3 = "1"
            print('finally got here')
        else:
            ex3 = choice.find["x"]
            ex3 = choice[ex3+2]
        print(ex3)
    else:
        pass

我当前的尝试似乎达到了第二个if语句

if ex or ex2 == "+" or "-":

我不确定为什么要触发它,因为给定3x ^ 2之类的输入,甚至没有+或-。同样,find()方法仅查找第一个“ x”,因此每次获得相同的术语。

最终,我的目标是“重新组合”用户输入的表达式,以便我可以迭代它并计算一系列值。我不确定是否有更简单的方法可以做到这一点。

0 个答案:

没有答案