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使用莱布尼茨公式计算圆周率 莱布尼茨公式是一种用于计算圆周率的无限级数。该公式的形式如下:pi/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ... 通过对无限级数进行逐项求和,可以逐步逼近圆周率的值。在 Rust 中,可以使用循环和累加器来计算莱布尼茨级数的前N项和。
为什么MD5说是128位,却只有32个字符? 为什么MD5说是128位,却只有32个字符?这是因为这两个长度的概念不同;
Python any()函数详细教程 any()函数只接受一个可迭代的类型参数;如果该迭代器的任意一个元素为True,则返回True,否则返回False;如果迭代器为空返回False;
Python使用莱布尼茨公式计算圆周率 可以通过莱布尼茨级数的求和来逼近圆周率;公式为:π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ......(无限项)
Rust函数返回不同类型的值 在Rust中,函数可以返回不同类型的值,一种常见的方法是使用枚举类型,其中枚举的不同变体可以包含不同类型的值;
Rust debug_assert_eq宏的用法和示例 在Rust语言中,debug_assert_eq宏专门用于进行调试时的值相等性检查。它类似于assert_eq宏,但有一个重要的区别:debug_assert_eq只能在Rust的debug模式下进行检查,这意味着在发布应用程序时,所有的debug_assert_eq检查都会被编译器完全移除,不会影响最终的执行代码。