Python用无穷级数法计算圆周率
时间: 2023-06-01 09:02:40 浏览: 267
以下是使用无穷级数法计算圆周率的Python代码:
```python
import math
def calculate_pi(n):
pi = 0
for i in range(n):
pi += ((-1)**i) / (2*i + 1)
return 4 * pi
print(calculate_pi(1000000))
print(math.pi)
```
在这个代码中,`calculate_pi`函数使用了公式:
$\pi = 4 \times (1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + ...)$
其中,$n$表示级数的项数,$(-1)^i$表示每一项的正负号,$2i+1$表示每一项的分母。
我们可以看到,当$n$越大时,计算出的圆周率越接近$\pi$的真实值。在这个例子中,我们将$n$设为了100万,得到的结果与Python的内置`math`库中的$\pi$常量相差不到1%。
相关问题
python计算圆周率无穷级数法
下面是使用Python计算圆周率的无穷级数法的示例代码,包括莱布尼茨级数法和马青公式:
```python
import math
# 莱布尼茨级数法
def leibniz_formula(n):
pi = 0
sign = 1
for i in range(n):
pi += sign / (2 * i + 1)
sign *= -1
return pi * 4
# 马青公式
def machin_formula():
pi = 16 * math.atan(1/5) - 4 * math.atan(1/239)
return pi
# 测试
print(leibniz_formula(1000000))
print(machin_formula())
```
这里的`leibniz_formula()`函数使用莱布尼茨级数法计算圆周率,参数`n`表示级数的项数。`machin_formula()`函数使用马青公式计算圆周率。运行代码后,可以看到输出的圆周率值。
计算圆周率——无穷级数法python
可以使用以下代码来计算圆周率:
```python
import math
def calculate_pi():
pi = 0
i = 0
while True:
pi += 4 * ((-1) ** i) / (2 * i + 1)
yield pi
i += 1
pi_generator = calculate_pi()
for i in range(10):
print(next(pi_generator))
print("Python's value of pi:", math.pi)
```
这个程序使用了无穷级数法来计算圆周率,它的原理是利用无穷级数的收敛性质,不断累加项来逼近圆周率的值。在这个程序中,我们使用了一个生成器来不断产生圆周率的逼近值,直到达到所需的精度为止。最后,我们将计算出的圆周率与 Python 内置的圆周率值进行比较,以验证我们的计算结果是否正确。
阅读全文