-
用蒙特卡洛方法计算圆周率π的近似值
# 用蒙特卡洛方法计算圆周率π的近似值
import random
n = 1000000 # 设置模拟次数
count = 0 # 计算落在单位圆内的点的个数
for i in range(n):
x, y = random.uniform(0, 1), random.uniform(0, 1)
if x**2 + y**2 <= 1:
count += 1
pi = 4.0 * count / n
print("π的近似值为:", pi)
from random import random
# 计算π值,n为点数
def pi(n):
count = 0 # 计数器
for i in range(n):
x, y = random(), random()
if x ** 2 + y ** 2 < 1:
count += 1
return 4.0 * count / n
n = 1000000 # 设置模拟次数
print("π的近似值为:", pi(n))
-
使用级数展开的方法来计算圆周率π的近似值
def pi(n):
sum = 0.0
for i in range(n):
sign = (-1) ** i
term = 1 / (i * 2 + 1)
sum += sign * term
return 4.0 * sum
n = 10000 # 设置迭代次数
print("π的近似值为:", pi(n))