第四周(1):利用Python计算π的值,并显示进度条

用Python计算圆周率pi并用进度条提示进度

一 计算公式:

二 实现代码

(1)

import math
from tqdm import tqdm
import time
total,s,n,t=0.0,1,1.0,1.0
while(math.fabs(t)>=1e-6):
    total+=t
    n+=2
    s=-s
    t=s/n
k=total*4
print("π值是{:.10f}  运行时间为{:.4f}秒".format(k,time.clock()))
for i in tqdm(range(101)):
    print("\r{:3}%".format(i),end="")
    time.sleep(0.1)

(2)

import time
import math

class Index(object):
    def __init__(self, number=50, decimal=2):
        self.decimal = decimal
        self.number = number
        self.a = 100/number   

    def __call__(self, now, total):
        percentage = self.percentage_number(now, total)
        well_num = int(percentage / self.a)
        progress_bar_num = self.progress_bar(well_num)
        result = "\r%s %s" % (progress_bar_num, percentage)
        return result

    def percentage_number(self, now, total):
        return round(now / total * 100, self.decimal)

    def progress_bar(self, num):
        well_num = "#" * num
        space_num = " " * (self.number - num)
        return ‘[%s%s]‘ % (well_num, space_num)

index = Index()

total,s,n,t=0.0,1,1.0,1.0
while(math.fabs(t)>=1e-6):
    total+=t
    n+=2
    s=-s
    t=s/n
k=total*4

start = 371
for i in range(start + 1):
    print(index(i, start), end=‘‘)
    time.sleep(0.01)

print("\n π值是{:.10f}".format(k))

(3)

import time
import math
total,s,n,t=0.0,1,1.0,1.0
while(math.fabs(t)>=1e-6):
    total+=t
    n+=2
    s=-s
    t=s/n
k=total*4
scale=50
print("".center(scale//2,"-"))
start = time.perf_counter()
for i in range(scale+1):
    a="*"*i
    b="."*(scale-i)
    c=(i/scale)*100
    d=time.perf_counter() - start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d),end=‘‘)
    time.sleep(0.1)
print("\n π值是{:.10f}".format(k))

  

原文地址:https://www.cnblogs.com/linjiaxin59/p/12562697.html

时间: 2024-11-11 10:54:42

第四周(1):利用Python计算π的值,并显示进度条的相关文章

Python Multiprocessing 多进程,使用多核CPU计算 并使用tqdm显示进度条

1.背景   在python运行一些,计算复杂度比较高的函数时,服务器端单核CPU的情况比较耗时,因此需要多CPU使用多进程加快速度 2.函数要求  笔者使用的是:pathos.multiprocessing 库,进度条显示用tqdm库,安装方法: pip install pathos 安装完成后 from pathos.multiprocessing import ProcessingPool as Pool from tqdm import tqdm 这边使用pathos的原因是因为,mul

python计算IV值及使用

更多风控建模.大数据分析等内容请关注公众号<大数据风控的一点一滴> 在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,python计算IV值的代码如下: def CalcIV(Xvar, Yvar): N_0 = np.sum(Yvar==0) N_1 = np.sum(Yvar==1) N_0_group = np.zeros(np.unique(Xvar).shape) N_1_group = np.zeros(np.unique(Xvar).shape) f

Python计算KDJ值

Python计算KDJ值,但计算的结果跟通达信软件有一定的差别. import talib as ta import tushare as ts import pandas as pd dw = ts.get_k_data("601069") print(dw) dw = dw[60:] dw.index = range(len(dw)) dw['slowk'], dw['slowd'] = ta.STOCH(dw['high'].values, dw['low'].values, d

python实现一个控制台下的进度条

今天写练习爬虫感觉很需要个进度条,就随手用函数实现了一个,到了晚上突然感觉到这个东西应该单独写出来以后肯定用用得着. 代码也很简单,我就不细讲了,直接上代码了. 测试代码: instance.py import bar import time bar = bar.ProgressBar(50,0,2) for i in range(50): bar.move() # if i == 15: # bar.reset_pram(30,count=100,width=3) bar.bar_run()

Python:如何显示进度条

进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果. 进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条? 最简单的办法就是,再输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可实现,新的更长的进度条把旧的短覆盖,就形成了动画效果. 可以想到那个转义符了吧,那就是 \r. 转义符\r就可以把光标移动到行首

Python的time库和文本进度条 大发彩_票平台搭建

大发彩_票平台搭建 地址一:[hubawl.com]狐霸源码论坛地址二:[bbscherry.com] 是Python中处理时间的标准库1.time库包括三类函数 时间获取:time() ctime() gmtime()时间格式化:strftime() strptime()程序计时:sleep(), perf_counter()2.时间获取 3.时间格式化 4.程序计时 5.进度条实例 #textProBarV1.pyimport timescale = 50print("执行开始".

利用python将二值csv格式转换为矩阵

#!/usr/bin/env python # coding:utf-8 #import pandas as pd, numpy as np; ''' 将csv文件转换为对应的邻接矩阵mat ''' from numpy import *; def protein_complexes_trans(): file = open('protein_complexes.csv'); filePro = open('complexes', 'a'); fileTarget = open('targets

Python计算KS值并绘制KS曲线

更多风控建模.大数据分析等内容请关注公众号<大数据风控的一点一滴> python实现KS曲线,相关使用方法请参考上篇博客-R语言实现KS曲线 代码如下: ####################### PlotKS ########################## def PlotKS(preds, labels, n, asc): # preds is score: asc=1 # preds is prob: asc=0 pred = preds # 预测值 bad = labels

Qt自定义带游标的slider,在滑块正上方显示当前值(类似于进度条,用一个额外的QLabel冒充QSilder的一部分,然后move就行了)

首先自定义QSlider的子类MyCustomSlider,如下所示. mycustomslider.h [cpp] view plain copy #ifndef MYCUSTOMSLIDER_H #define MYCUSTOMSLIDER_H #include <QSlider> #include <QLabel> #include <QMouseEvent> class MyCustomSlider : public QSlider { public: MyCu