我正在制作一个程序,询问用户一个物理数学公式,用户必须说出答案。因此,机器人可能会问“请告诉我用 V 表示的第一个运动方程,其中 U 是初速度,A 是加速度,T 是时间”,用户必须回答 V = U + A * T。现在,当用户可以输入 A * T + U 或 U + T * A。此外,由于减法和除法对顺序敏感,因此它不起作用。有没有办法实现这个逻辑。
我尝试使用 + 上的 split 函数来分隔术语,然后使用 * 制作一个嵌套的分隔列表。所以预期的答案是列表和嵌套列表。但话又说回来,减法不能用这种形式表示。理论上,U + A * T 将转换为
[[U], [A, T]]
但如果答案是某个 X * (A + B),它将无法按预期运行。
尝试使用一些测试用例:
就像 V=U+A*T 一样,在测试用例 1[4,2,5] 中,U 是 4,A 是 2,T 是 5,然后通过计算 V 的值与用户的公式 V 进行比较如果所有测试用例都通过了,则公式是正确的。