Python 官方文档:入门教程 => 点击学习
用IPO模式分析问题如下: 1.输入:抛点的数量。 2.处理:对于每个抛洒点,计算点到圆心的距 离,通过距离盘点该点在 圆内或圆外,统计在圆内点的数量。 3.输出:π值 代码如下 from random import ra
用IPO模式分析问题如下:
1.输入:抛点的数量。
2.处理:对于每个抛洒点,计算点到圆心的距 离,通过距离盘点该点在 圆内或圆外,统计在圆内点的数量。
3.输出:π值
代码如下
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:
我们得出结论:随着抛洒点的增多,π值的结果更精确,但是运行的时间更长!
--结束END--
本文标题: 【Python】python之π的计算
本文链接: https://lsjlt.com/news/188970.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0