python - 从 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
等等
推荐阅读
- templates - 根据某种状态从文档生成中过滤掉图表
- r - 删除数据表中的行 - 闪亮
- javascript - 如何在没有 global.css 文件的情况下覆盖 next.Js 中的材料 ui 类?
- google-analytics-4 - GA4 on Web 事件和渠道问题
- sql - Q 表示法不适用于 oracle 12c 中的变量
- javascript - 如何使文本对齐:在谷歌应用脚本(日历)中居中?
- symfony - 有没有办法在自定义安全投票器中获取带有 @ApiProperty(security="is_granted('ATTRIBUTE')") 注释的属性名称?
- android - 如何在应用程序内更改 Flutter 本地通知的语言环境?
- go - gocql 如何遍历来自选择查询的数据
- python - 如何在标签后获得合并的单词?