用Python进行有进度条的π计算

1.tqdm是一个强大的终端进度条工具,我利用pip获取tqdm函数库。

2编写代码

2.1进行π的计算

from random import random

from math import sqrt

from time import clock

DARTS=10000

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)

print("pi的值{}.".format(pi))

print("运行时间:{:.5f}s".format(clock()))for i in tqdm(range(10)):

然后改变DARTS的赋值,发现π的位数越来越多

2.2文本进度条

选择带刷新的文本进度条,利用tqdm库实现

代码:

import time
from tqdm import tqdm
scale=50
print("执行开始".center(scale//2,‘-‘))
t=time.clock()
for i in tqdm(range(scale+1)):
  a=‘*‘*i
  b=‘.‘*(scale-i)
  c=(i/scale)*100
  t-=time.clock()
  print("\t{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),end=‘‘)
  time.sleep(0.05)
print("\n"+"执行结

2.3最后将两者结合

from math import sqrt
from tqdm import tqdm
from random import random
import time
DARTS=10000
hits=0.0
t=time.clock()
for i in tqdm(range(1,DARTS+1)):
  x,y=random(),random()
  dist=sqrt(x**2+y**2)
  if dist<=1.0:
    hits+=1
  a=‘*‘*i
  b=‘.‘*(DARTS+1-i)
  c=(i/DARTS+1)*100
  t-=time.clock()
  time.sleep(0.00001)
pi=4*(hits/DARTS)
print("Pi值是{}.".format(pi))
print("\t{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,-t),end=‘‘)
print("运行时间是:{:.5f}s".format(time.clock()))

原文地址:https://www.cnblogs.com/Coylin/p/10568987.html

时间: 2024-11-10 14:07:53

用Python进行有进度条的π计算的相关文章

[Python]命令行进度条

关键点是输出'\r'这个字符可以使光标回到一行的开头,这时输出其它内容就会将原内容覆盖. import time import sys def progress_test(): bar_length=20 for percent in xrange(0, 100): hashes = '#' * int(percent/100.0 * bar_length) spaces = ' ' * (bar_length - len(hashes)) sys.stdout.write("\rPercent

#Python绘制 文本进度条,带刷新、时间暂缓的

#Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx=11 #要大1 for i in range(maxx): s1='*'*i s2='->' s3='.'*(maxx-i-1) T.sleep(0.5) #假装有延时 dur=T.perf_counter()-st print("\r%3d%%[%s%s%s] %.2fs"%(i

网络基础、ftp任务(进度条、计算文件大小、断点续传、搭建框架示例)

一.网络基础 1.端口,是什么?为什么要有端口? 端口是为了将同一个电脑上的不同程序进行隔离. IP是找电脑:端口是找电脑上的应用程序: 端口范围:1 – 65535 :    1 - 1024 不要用  :  一般程序员用8000.8001…… 2.OSI  七层模型(记住哪七层) 应用层,使用软件:                 打开软件或网站 表示层,看到数据,如图片和视频:   生产原始数据 会话层,保持登录或链接状态:       应用偷偷携带一点其他数据: 令牌 19rRNAwf8

有进度条圆周率计算

有进度条圆周率计算: 代码: import math import time scale=14 s = 1 m = 2 print("执行开始".center(scale//2, "-")) start = time.perf_counter() for i in range(scale+1): s=math.sqrt((1-math.sqrt(1-pow(s,2)))/2) m=m*2 a = '*' * i b = '.' * (scale - i) c = (

Python中利用进度条求圆周率

从祖冲之到现在,圆周率的发展越来越丰富,求法也是越来越快其中: 1.求圆周率的方法: (1)蒙特卡罗法 这是基于“随机数”的算法,通过计算落在单位圆内的点与正方形内的比值来求圆周率PI. 如果一共投入N个点,其中有M个落入圆中,则要点均匀,假定圆周率的半径为R,则: (2)欧拉恒等式公式为: 基础的泰勒级数: (2)求python进度表 代码: #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 18-5-21 下午3:44# @Autho

Python 实现下载进度条(不带GUI界面)

话不多说,先上图该Python代码可以实现获取下载的文件名,下载文件的大小,下载速度等. 代码关键点: 1.关于下载文件名的获取:代码里使用两种方式获取:(1) 通过Content-Disposition属性,该属性是作为对下载文件的一个标识字段,存储着下载文件名(2) 直接通过链接获取,例如:sw.bos.baidu.com/sw-search-sp/software/8b23f8846df3d/BaiduMusicSetup.exe 文件后面直接就是文件名称了.2.关于下载文件大小的获取:直

python 实现各种进度条

1. 时间进度条 class Tiao(object): def __init__(self): self.obj1 = datetime.timedelta(seconds=1) self.var = '%H:%M:%S' def add(self, var): a = datetime.datetime.strptime(var, self.var) b = a + self.obj1 return str(b.strftime(self.var)) def str_time(self, v

python实例文本进度条

简单的文本进度条代码 解析 引入time库 打印一行作为开始 最后也打印一个结束的标签 定义变量等于10,文本进度条大概的宽度是10 使用for循环来模拟进度,for i in range()能够不断地产生循环 每次答应都会显示当前的休眠状态 字符串与整数的乘积表示字符串被复制的次数 变量a 表示?被复制的次数 变量b 表示点被复制的次数,与当前剩余的进度条比例之间的乘积 通过a和b就可以知道当前已知执行的和未知执行的关系 c表示输出当前输出进度条与未输出之间的关系 使用print函数增加了槽,

【Python】文本进度条

1.0代码: import time#引入time库 scale=10#文本进度条宽度 print("------执行开始------") for i in range(scale+1):#模拟一个进度 a='*'*i#字符串被复制的次数,"*"表示百分比所表达的信息 b='.'*(scale-i) c=(i/scale)*100#输出对应进度条的百分比 print("{:^3.0f}%[{}->{}]".format(c,a,b)) ti