带有进度条的圆周率计算

我们在使用Python运行程序时,遇到较大数据时,运行时间总是会比较长,而又没有什么提示,我们就无法得知此时的程序是否在运行,运行到哪一步了,所以今天,我们尝试将进度条加到计算的程序中,下面以计算圆周率为例。

 

一、准备

这次的进度条我们将用到tqdm,这是一个比较强大的库函数

首先我们应该安装tqdm

第一步,按下Win+R打开命令输入框,并输入cmd,点击确定

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二步,找到IDLE文件(即平时打代码的程序),右击,点击属性,得到如下界面,再点击打开文件所在的位置

 

 

打开Scripts文件,可以看到pip文件

 

 

将pip文件直接拖至刚才输入cmd打开的界面

在pip.exe后方输入install tqdm(注意以空格为间隔),然后点击回车,这样我们就安装好了tqdm库函数

这时我们可以测试一下tqdm函数绘制出的进度条效果如何,代码如下

1 from tqdm import*
2 import time
3 for i in tqdm(range(10)):
4    time.sleep(0.1)

效果如图

 

二、编写计算圆周率的函数

计算圆周率的方法有很多种,下面我以打靶法为例,代码如下

 1 import time
 2 from random import random
 3 from math import sqrt
 4 
 5 DARTS=1000000
 6 hits=0.0
 7 time.clock()
 8 for i in range(1,DARTS):
 9     x,y=random(),random()
10     dist=sqrt(x**2+y**2)
11     if dist<=1.0:
12         hits=hits+1
13 pi=4*(hits/DARTS)
14 print("Pi值是{}.".format(pi))
15 print("运行时间是:{:.5f}s".format(time.clock()))

三、汇总

将计算圆周率的代码与进度条的代码结合在一起,代码如下

 1 from tqdm import tqdm
 2 import time
 3 from random import random
 4 from math import sqrt
 5 
 6 DARTS=1000000
 7 hits=0.0
 8 time.clock()
 9 for i in range(1,DARTS):
10     x,y=random(),random()
11     dist=sqrt(x**2+y**2)
12     if dist<=1.0:
13         hits=hits+1
14 for i in tqdm(range(1,DARTS//100000+1)):
15     time.sleep(0.05)
16 pi=4*(hits/DARTS)
17 print("Pi值是{}.".format(pi))
18 print("运行时间是:{:.5f}s".format(time.clock()))

最终效果如下

这样我们就完成了带有进度条的圆周率计算方法

转载于:https://www.cnblogs.com/ReganWhite/p/10569603.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值