前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】python之π的计算

【Python】python之π的计算

作者头像
py3study
发布2020-01-07 11:13:44
1.5K0
发布2020-01-07 11:13:44
举报
文章被收录于专栏:python3python3

用IPO模式分析问题如下: 1.输入:抛点的数量。 2.处理:对于每个抛洒点,计算点到圆心的距 离,通过距离盘点该点在 圆内或圆外,统计在圆内点的数量。 3.输出:π值

代码如下

代码语言:javascript
复制
from random import random
from math import  sqrt
from time import clock  #计算程序运行时间
DARTS=1200   #抛洒点的个数
#DARTS=5000
#DARTS=20000
#DARTS=1000000
hists=0    #抛洒点在1/4(半径为1)圆内点的个数
clock()
for i in range(1,DARTS):
    x,y=random(),random()
    dict=sqrt(x**2+y**2)
    if dict<=1.0:
        hists=hists+1    #随机设点,若抛洒点在1/4圆内,则dice+1
pi=4*(hists/DARTS)
print("PI的值是 %s" %pi)
print("程序运行的时间是 %-5.5ss" %clock())

当抛洒点DARTS=1200时:

这里写图片描述
这里写图片描述

可见π的值不够精确!

当抛洒点DARTS=5000时:

这里写图片描述
这里写图片描述

当抛洒点DARTS=20000:

这里写图片描述
这里写图片描述

当抛洒点DARTS=1000000:

这里写图片描述
这里写图片描述

我们得出结论:随着抛洒点的增多,π值的结果更精确,但是运行的时间更长!

这里写图片描述
这里写图片描述
本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com