python计算π及进度条显示
今天老师布置了一个课后作业,去尽可能的准确计算π的值,还要显示时间和进度条,对于python小白的我,当然是综合书上和网上的知识,自己做了一个小程序,代码如下:
一、写代码的准备工作:用pip下载第三方库tqdm
步骤1:打开cmd
步骤2:输入pip install 你要安装的库(如 pip install tqdm) #pip一般是在安装python的时候就有了,还有tqdm我之前已经下载好了
二、写程序
1.这个代码的启发是由上学期c语言的一道例题改编的
from math import *
from tqdm import tqdm
from time import *
total,s,n,t=0.0,1,1.0,1.0
clock()
while(fabs(t)>=1e-6):
total+=t
n+=2
s=-s
t=s/n
k=total*4
print("π值是{:.10f} 运行时间为{:.4f}秒".format(k,clock()))
for i in tqdm(range(101)):
print("\r{:3}%".format(i),end="")
sleep((clock())/100)#用执行程序的总时间来算出进度条间隔的时间
由于执行时太快了,我录了一个gif,如下图:
静态图:
2.第二个程序是根据python书上的
from random import random
from math import sqrt
from time import *
from tqdm import tqdm
DARTS=10000000
hits=0.0
clock()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=sqrt(x**2+y**2)
if dist <=1.0:
hits=hits+1
pi=4*(hits/DARTS)
for i in tqdm(range(10)):
print("\r{:3}%".format(i/10*100),end="") #这里的i/10*100指每10%显示一次
sleep((clock())/100)#用执行程序的总时间来算出进度条间隔的时间
print("pi的值{}.".format(pi))
print("运行时间:{:.5f}s".format(clock()))
执行后:静态图和动态图如下
python计算π及进度条显示的更多相关文章
- Python 计算π及进度条显示
一,首先打开命令提示符找到Python路径,输入pip install tqdm下载第三方库tpdm. 二,写程序 法一 from math import * from tqdm import tqd ...
- Python中利用进度条求圆周率
从祖冲之到现在,圆周率的发展越来越丰富,求法也是越来越快其中: 1.求圆周率的方法: (1)蒙特卡罗法 这是基于“随机数”的算法,通过计算落在单位圆内的点与正方形内的比值来求圆周率PI. 如果一共投入 ...
- tqdm学习-一个快速,可扩展的Python和CLI进度条
参考:https://pypi.org/project/tqdm/ 1.安装: (base) userdeMacBook-Pro:~ user$ conda activate deeplearning ...
- Ajax上传文件进度条显示
要实现进度条的显示,就要知道两个参数,上传的大小和总文件的大小 html5提供了一个上传过程事件,在上传过程中不断触发,然后用已上传的大 小/总大小,计算上传的百分比,然后用这个百分比控制div框的显 ...
- MFC读写.txt文件时进度条显示实时进度
整体实现方式:先获得文件长度,然后用每次读取的长度,计算出完成的百分比,用百分比的值设置进度条. 一.MFC进度条 Progress Control 相关函数 1. create() --创建Prog ...
- 【Winform】使用BackgroundWorker控制进度条显示进度
许多开发者看见一些软件有进度条显示进度,自己想弄,项目建好后发现并没有自己想象中的那么简单...看了网上很多教程后,写了一个小Demo供网友们参考~~,Demo的网址:http://pan.baidu ...
- Extjs 使用fileupload插件上传文件 带进度条显示
一.首先我们看看官方给出的插件的解释: 一个文件上传表单项具有自定义的样式,并且可以控制按钮的文本和 像文本表单的空文本类似的其他特性. 它使用一个隐藏的文件输入元素,并在用户选择文件后 在form提 ...
- 【Android】读取sdcard卡上的全部图片而且显示,读取的过程有进度条显示
尽管以下的app还没有做到快图浏览.ES文件浏览器的水平,遇到大sdcard还是会存在读取过久.内存溢出等问题,可是基本思想是这种. 例如以下图.在sdcard卡上有4张图片, 打开app,则会吧sd ...
- Qt flash_eraseall nandwrite 进度条显示擦除、烧录
/***************************************************************************** * Qt flash_eraseall n ...
随机推荐
- Perl 学习笔记-正则表达式处理文本
1.使用正则表达式替换文本 s/// s/<pattern>;/<replacement>;/ 如果匹配失败, 则什么也不会发生, 变量也不受影响. 返回布尔值, 替换成功 ...
- BZOJ 2460 [BeiJing2011]元素(线性基模板题)
Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石.一般地,矿石越多则法力越强 ...
- C/C++学习的50个经典网站
C/C++是最主要的编程语言.这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码.这份清单提供了源代码的链接以及它们的小说明.我已尽力包括最佳的C/C++源代码的网站.这不是一个完整的清 ...
- redis 映射数据结构粗略
[字符串] sds结构,simple dynamic string.是redis底层字符串实现,结构为: typedef char *sds; struct sdshdr { // buf 已占用长度 ...
- 布斯乘法 Mips实现 - Booth Algorithm
看了很久网上没有现成的代码和好一点的图,因此当一回搬运工.转自stackoverflow 布斯乘法器的Mips实现方法: .data promptStart: .asciiz "This p ...
- scrapy爬虫框架入门实战
博客 https://www.jianshu.com/p/61911e00abd0 项目源码 https://github.com/ppy2790/jianshu/blob/master/jiansh ...
- 本地连接腾讯云Mysql失败问题
腾讯云主机中MySQL无法远程连接的解决办法 在远程主机上,我开启了 mysql服务,用 phpmyadmin 可以打开,比如说用户名为 root,密码为 123456.不过用 Mysql 客户端远程 ...
- C# 获取唯一数字
/// <summary> /// 如果你想生成一个数字序列而不是字符串,你将会获得一个19位长的序列.下面的方法会把GUID转换为Int64的数字序列. /// </summary ...
- MVC的 url 传递参数无效
有些符号(例如“=”)在URL中 直接传递是无效的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码 十六进制值 1. + URL 中+号表 ...
- EasyFastCMS系列教学课程——1、三层框架的搭建
在本系列教程中,我们以一个大型CMS系统的完整开发流程为例,和大家一起探讨net开发的经验和教训.在本程序中,我们采用了流行的三层/N层框架+仓储模式的架构模式.项目分层示意图: 各层的主要用 ...