首页 > 其他 > 详细

算π加进度条

时间:2019-03-20 23:13:47      阅读:164      评论:0      收藏:0      [点我收藏+]

一、算π的思路

首先构造一个单位正方形和一个四分之一圆,然后随机想其中抛洒大量的点,每个点可能在圆内也可能在圆外,当点数足够多时圆内点将构成圆的面积,全部点将构成矩形面积,用圆内点数量除以全部点数量,就得到了π/4。

二、程序实现

输入:抛点的数量。

处理:对于每个点,计算点到圆心的距离,通过距离判断点在圆内还是圆外,然后统计圆内点的数量。

输出:π的值。

技术分享图片

 

三、

当测试次数足够大时程序运行的就特别慢,就需要加入进度条

(1)文本进度条

源代码如下:

import time
import sys
for i in range(31):
sys.stdout.write(\r)
sys.stdout.write("%s%%|%s"%(int(i/30*100),int(i/30*100)*#))
sys.stdout.flush()
time.sleep(0.3)

运行后如下:

技术分享图片

将此代码插入算π中代码如下:

from random import random
from math import sqrt
from time import clock
import time
import sys
darts=int(input())
hits=0
clock()
for i in range(1,darts):
    x,y=random(),random()
    dist=sqrt(x**2+y**2)
    if dist<=1.0:
        hits=hits+1
    pi=4*(hits/darts)
for i in range(darts+1):
    sys.stdout.write(\r)
    sys.stdout.write("%s%%|%s"%(int(i/darts*100),#))
    sys.stdout.flush()
    time.sleep(0.3)
print("\n")
print("pi的值是%s"%pi)
print("程序运行的时间%-5.5ss"%clock())

效果如下:

技术分享图片

 

算π加进度条

原文:https://www.cnblogs.com/0330lgs/p/10562002.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!