擅长:python、mysql、java
<p>我能回答为什么会发生这种事,但不能回答为什么选择这种行为。</p>
<pre><code>a/(a - 1)
</code></pre>
<p>计算结果为0.2/-0.8,即-0.25,由<code>cmath.sqrt</code>转换为复数,而</p>
<pre><code>b/(b - 1)
</code></pre>
<p>计算结果为(0.2+0j)/(-0.8+0j),即(-0.25-0j),转换为具有负复数成分的复数。</p>
<p>举个简单的例子</p>
<pre><code>cmath.sqrt(0j) == 0j
cmath.sqrt(-0j) == -0j
</code></pre>