创建一个程序,该程序接受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”,因此每次获得相同的术语。
最终,我的目标是“重新组合”用户输入的表达式,以便我可以迭代它并计算一系列值。我不确定是否有更简单的方法可以做到这一点。