蒙特卡洛方法计算圆周率PI(Python)

 一、蒙特卡洛法计算圆周率的原理

正方形的面积为:2r*2r=4r^2

圆的面积为:PI*r^2

圆的面积/正方形的面积=PI/4

经过推导:PI=4*圆的面积/正方形的面积

二、代码实现:

在正方形内抛点,圆的面积可类比抛在圆内的点,而正方形的面积为抛的总点数。

import datetime
import random
def pi(square):
    circle = 0
    i = 0
    while i < square:
        i+=1
        x = random.random()
        y = random.random()
        if (pow(x,2)+pow(y,2))<1:
            circle+=1
    return 4*circle/square
now1 = datetime.datetime.now()
print('蒙特卡洛法计算所得PI的值为:',end=' ')
print(pi(1000000))
now2 = datetime.datetime.now()
print('Running time: %s Seconds' % (now2-now1))

 三、代码结果展示:

蒙特卡洛方法计算圆周率PI(Python)_第1张图片

 

 

你可能感兴趣的:(Python大类,python,算法)