用Python编程用不同的公式计算圆周率
时间: 2023-06-01 18:01:37 浏览: 110
以下是使用Python编程使用不同公式计算圆周率的示例代码:
1. Leibniz公式计算圆周率
```python
# Leibniz公式计算圆周率
import math
def calc_pi_leibniz(n):
pi = 0
sign = 1
for i in range(n):
pi += sign / (2*i+1)
sign *= -1
pi *= 4
return pi
print(calc_pi_leibniz(1000000))
print(math.pi)
```
2. Monte Carlo方法计算圆周率
```python
# Monte Carlo方法计算圆周率
import random
import math
def calc_pi_monte_carlo(n):
count = 0
for i in range(n):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
if math.sqrt(x*x + y*y) <= 1:
count += 1
pi = 4 * count / n
return pi
print(calc_pi_monte_carlo(100000))
print(math.pi)
```
3. 随机漫步法计算圆周率
```python
# 随机漫步法计算圆周率
import random
import math
def calc_pi_random_walk(n):
x = 0
y = 0
count = 0
for i in range(n):
dx = random.uniform(-1, 1)
dy = random.uniform(-1, 1)
if math.sqrt((x+dx)*(x+dx) + (y+dy)*(y+dy)) <= 1:
x += dx
y += dy
count += 1
pi = 4 * count / n
return pi
print(calc_pi_random_walk(100000))
print(math.pi)
```
这些方法的精度和效率不同,可以根据需要选择合适的方法。
阅读全文