zoukankan      html  css  js  c++  java
  • 第四周(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("
    {: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 = "
    %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("
     π值是{:.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("
    {:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d),end='')
        time.sleep(0.1)
    print("
     π值是{:.10f}".format(k))
    

      

     
  • 相关阅读:
    python之数据规范化(Min-Max规范化)
    python对全班成绩进行数据清洗(pandas的使用)
    python统计全班的成绩(numpy的使用)
    python爬虫之动态渲染页面抓取-(Selenium)的使用
    python之小米应用商店搜索
    python之小米应用商店爬虫
    cmds系统数据库源端大表数据更新优化
    临时表空间扩容
    性能优化概要(2)数据库时间,监控和优化工具
    cmds挖掘redolog
  • 原文地址:https://www.cnblogs.com/linjiaxin59/p/12562697.html
Copyright © 2011-2022 走看看