Python使用蒙特卡洛法计算圆周率

蒙特卡洛方法通过在单位正方形内随机生成点,并判断这些点是否在单位圆内的比例来估算圆周率。当随机点数量越多时,估算值越趋近于真实值。

以下是Python代码示例:

import random

def estimate_pi(num_iterations):
    num_points_in_circle = 0
    total_num_points = 0
    
    for i in range(num_iterations):
        x = random.uniform(0, 1)
        y = random.uniform(0, 1)
        distance = x**2 + y**2
        
        if distance <= 1:
            num_points_in_circle += 1
        
        total_num_points += 1
    
    pi_estimate = 4 * num_points_in_circle / total_num_points
    return pi_estimate

# 调用函数进行估算,num_iterations为估算次数
print(estimate_pi(1000000))

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/calculate-the-value-of-pi-using-monte-carlo-method-in-python.html

分类: 计算机技术
推荐阅读:
Golang生成一个整数范围内的随机整数 在Golang中,可以通过math/rand包的Intn(n)函数生成一个0~n之间的随机整数,碰到100~200、-10~10这样的整数段却无能为力了;
PySide6 QWidget更改窗口标题 PySide6.QtWidgets.QWidget类的成员函数setWindowTitle()用于为窗口更改标题;
C/C++程序打印输出中文导致乱码的解决方法 C/C++程序打印输出中文导致乱码的解决方法如下:
MySQL ACOS() 反余弦函数 ACOS(x)函数返回x的反余弦值;如果x不在定义域[-1,1]中,将返回NULL;
Linux终端重用上一条命令的参数 在Linux系统下,当你想使用上一条命令所用的参数,你可以通过这一条命令实现:
使用Python求取前n个自然数的总和 给一个自然数n,使用Python求取前n个自然数的总和;