円周率を求める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 によって決まります。サンプリング点の数が多いほど、推定値は真の値に近くなります。

bannerAds