检查两个数学答案是否相等

2024-04-23 22:04:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写一个小应用程序,它允许用户回答数学问题。我的问题是检查他们的答案。在

假设有这样一个问题:“factorsex^2 + 3x +2

有不同的方法来回答这个问题,例如:

  • (x+1)(x+2)
  • (x+2)(x+1)
  • (2+x)(x+1)
  • 等等

是否有一个图书馆可以检查一个答案是否与另一个答案相同?尤其是不能简化给定答案的问题;因此:

(x + 1)(x + 2)==(2 + x)(x + 1)

但是

(x + 1)(x + 2)!==x^2 + 3x +2

我考虑过使用wolframalpha来实现这一点——这是否可能——如果是的话,我应该使用什么语法?在

谢谢!在


Tags: 方法答案用户应用程序图书馆语法数学wolframalpha
3条回答

是的,Wolfram Alpha会处理这个问题(只要在搜索中加入条件,它就会返回一个布尔值)。在

{很明显你不想每个人都这样做。他们有一个Python库,它对非商业用途是免费的,每月多达2000个调用。如果你需要商业电话或更多的电话,他们有每月收费。在

有一些本地选项(比如Python),但是在语法、格式、确保用户没有传递恶意Python代码以及只支持所有内容方面,您可能会遇到更多问题。WA-API应该可以为您消除大部分问题,但首先要测试它。在

您可以尝试使用符号数学库,如sympy。在

对您的答案和用户提供的答案调用simplify逻辑。在这两种情况下运行逻辑可以解决文档中指出的问题:

exact strategies this function tries can change in the future versions of SymPy

您可能需要查看wims。虽然它不是用python编写的,但是它是开源的,所以您可以查看代码并获得一些想法。在

相关问题 更多 >