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编程中,将字符串转换为数字类型是一个常见的任务。无论您是处理用户输入,读取文件,还是与外部API交互,都可能需要将字符串转换为数字以进行进一步的计算或处理。在本文中,我们将深入探讨如何在Rust中执行这一任务,提供简单易懂的教程和示例代码。
Python abs()函数详细教程 abs()函数返回一个数的绝对值;该函数的参数可以是一个整数、浮点数、复数或定义了__abs__()方法的类;
Python 异常处理及常见错误 一般情况下,在python无法正确处理程序时,就会发生异常;当发生异常时,我们需要捕获它并进行处理,否则程序会终止运行。
Rust使用莱布尼茨公式计算圆周率 莱布尼茨公式是一种用于计算圆周率的无限级数。该公式的形式如下:pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ... 通过对无限级数进行逐项求和,可以逐步逼近圆周率的值。在 Rust 中,可以使用循环和累加器来计算莱布尼茨级数的前N项和。
Linux下快速的重命名文件 在Linux系统下,不知道你们是怎么重命名文件的,虽然方法很多,但我这个绝对是最简单且最高效的,而且只有一条命令就可实现:
Python将数转换为带有千位分隔符的形式 在这篇文章中,我们使用Python将一个数转换为带有千位分隔符的形式;