擅长:python、mysql、java
<p>正如其他人所说,你的<code>range()</code>需要改变。在</p>
<p>对于n=3</p>
<pre><code>for count in range(2, n+2, 2):
print(i)
</code></pre>
<p>将打印</p>
^{pr2}$
<p>{但你也需要。在</p>
<p>正如Python文档所说</p>
<pre><code>class range(start, stop[, step])
</code></pre>
<blockquote>
<p>For a positive step, the contents of a range r are determined by the formula r[i] = start + step*i where i >= 0 and r[i] < stop.</p>
</blockquote>
<p>不包括<code>stop</code>的含义。在</p>
<p>这里<code>step</code>是{<cd5>},您可以使用</p>
^{4}$
<p>而且求幂比乘法要贵。所以</p>
<pre><code>count*count
</code></pre>
<p>比</p>
<pre><code>count**2
</code></pre>
<p>所以修改后的版本可以是</p>
<pre><code>def Wallis(n):
result=1
for count in range(2, 2*(n+1), 2):
result*=((count*count)/((count-1)*(count+1)))
return result
</code></pre>
<p>注意,<code>Wallis</code>返回的值只有Pi值的一半。在</p>
<p>您可以将<code>return</code>语句修改为</p>
<pre><code>return result*2
</code></pre>
<p>如果你想的话。在</p>