擅长:python、mysql、java
<p><code>math</code>模块(我想您正在使用的)不支持复数。使用<code>cmath</code>(python2和python3)或幂运算符<code>**</code>(python3)。在</p>
<p>不管有什么区别,这都应该是有效的:</p>
<pre><code>x1 = (-b + (b ** 2 - 4 * a * c) ** .5) / 2 / a
</code></pre>
<p>示例:</p>
^{pr2}$
<p>当使用具有相同值的<code>math.sqrt</code>时,将引发所述错误:</p>
<pre><code>>>> (-b + sqrt(b ** 2 - a * c)) / (2 * a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
</code></pre>