检查两个数学答案是否相等
我正在用Python写一个小应用,让用户回答数学问题。现在我遇到的问题是如何检查他们的答案。
比如有这样一个问题:“将 x^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来解决这个问题——这样做可行吗?如果可以,我应该使用什么语法呢?
谢谢!
5 个回答
0
我觉得你不需要什么库来做这个。你可以限制用户的输入,让他们只能输入你程序能理解的答案(就是一些有意义的字符串)。然后你可以反向操作,看看他们的答案是否正确,通过和问题进行匹配。或者你也可以简单点,使用单选按钮让他们选择答案。举个例子,你可以让你的程序把他们给出的答案展开,然后和 x^2 + 3x + 2 进行对比。
0
你可以试试使用SymPy这个工具。它可能会帮助你解决问题。http://docs.sympy.org/dev/gotchas.html#double-equals-signs