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

分类: 计算机技术
推荐阅读:
Rust程序获取命令行参数 本文将在Rust语言中使用标准库std::env中的args()函数获取命令行参数;标准库std::env中有一个args()函数,它将返回在命令行中传递的参数;
SQL简易教程 SQL简易教程提供了SQL的基本用法和高级概念;该教程很适合初学者,专业人士亦可参考。
requests使用代理进行网络请求 requests支持HTTP、HTTPS、SOCKS等代理请求;如果要使用HTTP代理或HTTPS代理,你可以在任意请求方法中传入proxies参数来配置单个请求:
System has not been booted with systemd as init system (PID 1). Can't operate.解决方法 在WSL(Windows Subsystem for Linux,适用于Linux的Windows子系统)下通过systemctl命令启动某些服务将造成System has not been booted with systemd as init system (PID 1). Can't operate.这样的错误;
使用PySide6创建Hello World程序 本文将展示PySide6的hello world程序;程序将创建一个主窗体,在窗体上创建一个按钮,点击按钮将弹出Hello world的消息;
Python vars()函数 vars() 函数返回对象的属性和属性值的字典。其语法如下: