Python中利用进度条求圆周率

Posted 海藻&未眠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中利用进度条求圆周率相关的知识,希望对你有一定的参考价值。

从祖冲之到现在,圆周率的发展越来越丰富,求法也是越来越快其中:

1.求圆周率的方法:

(1)蒙特卡罗法

这是基于“随机数”的算法,通过计算落在单位圆内的点与正方形内的比值来求圆周率PI。

 

如果一共投入N个点,其中有M个落入圆中,则要点均匀,假定圆周率的半径为R,则:

(2)欧拉恒等式公式为:

基础的泰勒级数:

(2)求python进度表

代码:

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 18-5-21 下午3:44
# @Author : LK
# @File : 进度条.py
# @Software: PyCharm

 

import sys
import time
def process_bar(precent, width=50):
use_num = int(precent*width)
space_num = int(width-use_num)
precent = precent*100
# 第一个和最后一个一样梯形显示, 中间两个正确,但是在python2中报错
#
# print(\'[%s%s]%d%%\'%(use_num*\'#\', space_num*\' \',precent))
# print(\'[%s%s]%d%%\'%(use_num*\'#\', space_num*\' \',precent), end=\'\\r\')
print(\'[%s%s]%d%%\'%(use_num*\'#\', space_num*\' \',precent),file=sys.stdout,flush=True, end=\'\\r\')
# print(\'[%s%s]%d%%\'%(use_num*\'#\', space_num*\' \',precent),file=sys.stdout,flush=True)

 


if __name__ == \'__main__\':
for i in range(21):
precent = i/20
process_bar(precent)
time.sleep(0.2)
print(\'\\n\')

显示如下:

 

t

(3)利用进度条显示求圆周率

代码如下:

import math
import time
scale=10
print("执行开始")
t=time.process_time()
for i in range(scale+1):
a,b=\'**\'*i,\'..\'*(scale-i)
c=(i/scale)*100
π=4*(4*math.atan(1/5)-math.atan(1/239))
print("%{:3}[{}->{}]".format(a,b,c))
time.sleep(0.1)
print(π)
print("{:.2f}s".format(t))
print("执行结束")

运行结果如下:

现在,到此结束.................

 

以上是关于Python中利用进度条求圆周率的主要内容,如果未能解决你的问题,请参考以下文章

今天用python完成的是带进度条的圆周率计算

用进度条表示求圆周率的进程

有进度条圆周率计算

有进度条的圆周率计算

有进度条圆周率计算

圆周率计算和进度条