円周率を求めるPythonコードの書き方
モンテカルロ法はPythonで円周率を推定するために使用できます。コードは次のとおりです。
import random
def estimate_pi(n):
inside_circle = 0
total_points = 0
for _ in range(n):
x = random.uniform(0, 1)
y = random.uniform(0, 1)
distance = x**2 + y**2
if distance <= 1:
inside_circle += 1
total_points += 1
pi = 4 * inside_circle / total_points
return pi
n = 10000 # 采样点数,可根据需要调整
pi_estimate = estimate_pi(n)
print(f"估计的圆周率为:{pi_estimate:.6f}")
上に示したコードでは、円周率の推定にモンテカルロ法を使用しました。座標点をランダムに生成し、点が単位円の中にあるかどうかを判断することで、円周率の推定値を計算します。なお、モンテカルロ法の結果は推定値であり、その精度はサンプリング点の数 n によって決まります。サンプリング点の数が多いほど、推定値は真の値に近くなります。