从Python中的Wolfram alpha获取解决方案

问题描述 投票:0回答:1

因此,我正在研究一个助手,在该助手中用户将要求数学答案,而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

python python-3.7 wolframalpha
1个回答
0
投票

这样,您可以获得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 res.results:
    pass

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之类的输入。

© www.soinside.com 2019 - 2024. All rights reserved.