使用 Python 检查 2 个数学表达式的相等性

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

我正在制作一个程序,询问用户一个物理数学公式,用户必须说出答案。因此,机器人可能会问“请告诉我用 V 表示的第一个运动方程,其中 U 是初速度,A 是加速度,T 是时间”,用户必须回答 V = U + A * T。现在,当用户可以输入 A * T + U 或 U + T * A。此外,由于减法和除法对顺序敏感,因此它不起作用。有没有办法实现这个逻辑。

我尝试使用 + 上的 split 函数来分隔术语,然后使用 * 制作一个嵌套的分隔列表。所以预期的答案是列表和嵌套列表。但话又说回来,减法不能用这种形式表示。理论上,U + A * T 将转换为

[[U], [A, T]] 

但如果答案是某个 X * (A + B),它将无法按预期运行。

python math formula physics
1个回答
0
投票

尝试使用一些测试用例:

就像 V=U+A*T 一样,在测试用例 1[4,2,5] 中,U 是 4,A 是 2,T 是 5,然后通过计算 V 的值与用户的公式 V 进行比较如果所有测试用例都通过了,则公式是正确的。

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