蒙特卡洛方法求解圆周率π并绘图

        蒙特卡罗方法于 20 世纪 40 年代美国在第二次世界大战中研制原子弹的“曼哈顿计划”计划成员 S.M. 乌拉姆和 J. 冯·诺伊曼首先提出。数学家冯·诺伊曼 用驰名世界的赌城—摩纳哥的 Monte Carlo —来命名这种方法,为它蒙上了一层神秘色彩。在这之前,蒙特卡罗方法就已经存在。1777 年,法国数学家布丰 (Georges Louis Leclere de Buffon 1707 1788 )提出用投针实验的方求圆周率 π。这被认为是蒙特卡罗方法的起源。
单位圆的面积是 PI ,单位圆的外切正方形面积是 4
所以, 1/4 个圆的面积是 PI/4 ,外切正方形的面积是 1
蒙特卡洛方法求解圆周率π并绘图_第1张图片

 

 

import turtle
import random
from math import sqrt
from time import perf_counter
DARTS=100000 # 抛洒点数
hits=0.0
start= perf_counter()
turtle.hideturtle()
for i in range(1,DARTS+1):
    x=random.uniform(0,200)
    y=random.uniform(0,200)
    dist=sqrt(x**2+y**2)
    if(dist<=200.0):
        hits=hits+1
        turtle.penup()
        turtle.goto(x,y)
        turtle.dot(3,"red")
        if(i%10000==0):
            print("当前进度为:%",i/1000)
    else:
        turtle.penup()
        turtle.goto(x,y)
        turtle.dot(3,"blue")
        if(i%10000==0):
            print("当前进度为:%",i/1000)
pi=4*(hits/DARTS)
end = perf_counter()
print("pi 值是{}".format(pi))
print("运行时间是:{:.5f}s".format(end-start))
turtle.done

你可能感兴趣的:(python,开发语言)