zoukankan      html  css  js  c++  java
  • python圆周率计算小程序(非常慢)

    源码:

     1 from math import fabs           #导入数学模块
     2 
     3 from time import perf_counter   #导入时间模块
     4 
     5 from numba import jit
     6 
     7 @jit
     8 
     9 
    10 def Bar(i):         #动态文本条
    11 
    12     N = pow(10,level)
    13 
    14     a = int((i/N)*50)
    15 
    16     b = 50 - a
    17 
    18     Y , N = '*' * a , '.' * b
    19 
    20     print("
    计算中:{:3.0f}% [{}->{}] {:.2f}s"
    21 
    22           .format(2*a,Y,N,perf_counter()),end='')
    23 
    24 while True:
    25      
    26 
    27     level = eval(input('计算Pi精确到小数点后几位数(最后一位不精准):'))
    28 
    29     print('
    {:=^70}'.format('计算开始'))
    30 
    31     a,b,pi,tmp = 1,1,0,1
    32 
    33     i = 0
    34 
    35     '''
    36 
    37     a 分子  |  b 分母  |  pi 圆周率
    38 
    39     tmp 存储a/b的值    |  i  执行进度
    40 
    41     '''
    42 
    43     perf_counter()      #开始计时
    44 
    45     while (fabs(tmp) >= pow(10,-level)): #计算Pi
    46 
    47         pi += tmp
    48 
    49         b += 2
    50 
    51         a = -a
    52 
    53         tmp = a/b
    54 
    55         i += 2
    56 
    57         Bar(i)          #调用函数,实时显示计算进度
    58 
    59      
    60 
    61     print('
    {:=^70}'.format('计算完成'))
    62 
    63     print('
    Pi的计算值为:{}'.format(round(pi*4,level))) #输出计算结果
    64     print()
    65     print()
    66     print()
    67     

    因为太慢所有用了jit加速详情见:python可以提高程序执行速度N倍你知道吗? - _天枢 - 博客园

  • 相关阅读:
    linux定时任务
    php与xpath使用操作文本节点
    php处理图片实现
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
    Yii源码阅读笔记
  • 原文地址:https://www.cnblogs.com/Ctrl-cCtrl-v/p/12350147.html
Copyright © 2011-2022 走看看