擅长:python、mysql、java
<p>SymPy可以用<code>sympify</code>解析字符串,但它的表达式格式是<code>Eq(x/2, 4)</code>,而不是{<cd3>}。因此需要进行一些预处理:用<code>Eq(</code><code>)</code>将字符串括起来,并用逗号替换“=”。在</p>
<pre><code>eq = "x/2=4"
sympy_eq = sympify("Eq(" + eq.replace("=", ",") + ")")
solve(sympy_eq) # [8]
</code></pre>
<p>以及</p>
^{pr2}$
<p>在后一种情况下,SymPy选择了一个变量来求解。要选择它应该是哪一个,可以提供一个符号:</p>
<pre><code>solve(sympy_eq, Symbol('y')) # [x + 3]
</code></pre>
<p>或者,要解决每个符号:</p>
<pre><code>[solve(sympy_eq, sym, dict=True) for sym in sympy_eq.free_symbols]
</code></pre>
<p>返回<code>[[{y: x + 3}], [{x: y - 3}]]</code>。列表是嵌套的,因为每个符号可能会出现多个解决方案。如有必要,展开嵌套列表。在</p>
<p><code>solve</code>的选项<code>list=True</code>和{<cd8>}对于强制执行特定形式的输出非常方便。在</p>