Mus*_*fa 0 python python-2.7 python-3.x
我不确定为什么函数在使用python 2.7运行时为n的所有值保持返回4,它在3.6中工作正常.例如:aproxpi(1)应为2.6666,aproxpi(2)应为3.466666.
x = 1
y = 0
pi = 0
def aproxpi(n):
global x, y, pi
if n <= 0:
if y % 2 == 0:
pi += (float(1 / x))
else:
pi -= (float(1 / x))
x = 1
y = 0
pi2 = pi
pi = 0
return 4 * pi2
n -= 1
if y % 2 == 0:
y += 1
pi += (float(1 / x))
x += 2
else:
y += 1
pi -= (float(1 / x))
x += 2
return aproxpi(n)
Run Code Online (Sandbox Code Playgroud)
您正在Python 2中运行此程序,默认情况下除法是整数除法.
将此行添加到程序的开头:
from __future__ import division
Run Code Online (Sandbox Code Playgroud)
这将使分工更接近您的期望.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |