擅长:python、mysql、java
<p>Python正在进行整数除法,并截断小数。这是因为要除法的两个值都是整数。将其中一个数字转换为浮点数以获取浮点值。</p>
<pre><code>left = float(2 * i)/(2 * i - 1)
right = float(2 * i)/(2 * i + 1)
</code></pre>
<p>或者,正如@kindall指出的,您可以将常量直接更改为float,并避免调用<code>float</code>函数:</p>
<pre><code>left = (2.0 * i)/(2 * i - 1) # just 2. works, too
right = (2.0 * i)/(2 * i + 1)
</code></pre>
<hr/>
<p>如果/当您切换到python 3.x时,就不需要这样做了。实际上,您需要用<code>//</code>显式请求整数除法。</p>
<p>根据@Serdalis的注释,您还可以在文件顶部添加<code>from __future__ import division</code>,以获得与python 3.x相同的行为(即,您不需要在等式中添加<code>float</code>)</p>