在python中从Wolfram-alpha获得解决方案



因此,我正在开发一个助手,用户将在其中询问数学问题的答案,wolfram alpha将返回答案。


我现在的问题是:Wolfram alpha返回数学问题的下一步。

我想要的是:Wolfram-alpha应该在解决整个问题后返回十进制或整数的答案。

我的代码:

import wolframalpha
query = input("calculate: ")
client = wolframalpha.Client("TYXXXX-PXXXXXXXX2")
query = query.replace(" ", "")
res = client.query(' '.join(query))
answer = next(res.results).text
print("calculating..")
print(f"The answer is {answer}")

示例:

input: 2x = 5

我正在寻找的答案:

output: 2.5

我现在得到的答案是:输出:5/2

input: 2x = 5 - 3

我正在寻找的答案:output: x = 1

我得到的答案是:2x = 2

这样你就可以得到WolframAlpha提供的最终解决方案(你只需要得到生成器的最后一个元素,而不是只检索第一个(:

import wolframalpha
client = wolframalpha.Client(AppID)
response = client.query(input())
# Get the last item of the generator res.results
result = None
for result in response.results:
pass
# You could have also simply used result = list(response.results)[-1]
if result is not None:
print(f"The answer is {result.text}".format(result.text))

如果你计划将这个程序用于只使用x变量的简单线性方程组,那么你可以这样做:

print("The answer is {}".format(eval(result.text.replace("x = ", ""))))

然而,这对于2x=y+3之类的输入是不起作用的。

可能的输入包括以下等式:

  • 2x=5
  • x-3=2x+2

等。

相关内容

  • 没有找到相关文章

最新更新