python算丌_【Python】python之π的计算

本文通过Python代码演示了利用随机投点法估算π值的过程,随着投点数量的增加,π值的估算更加精确。代码中展示了不同投点数量(1200, 5000, 20000, 1000000)下π值的计算结果和程序运行时间,揭示了精度提升与计算时间增长的权衡关系。
摘要由CSDN通过智能技术生成

用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:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值