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

用python算圆周率

1.准备第三方库pip

3.用python语言编写出求圆周率到任意位的程序如下:

from math import *
from tqdm import tqdm
 from time import *
total,s,n,t=0.0,1,1.0,1.0 clock()
 while(fabs(t)>=1e-6):
total+=t n+=2 s=-s t=s/n k=total*4 print("π值是{:.10f}
 运行时间为{:.4f}秒".format(k,clock())) for i in tqdm(range(101)): print("\r{:3}%".format(i),end="") sleep((clock())/100)#用执行程序的总时间来算出进度条间隔的时间

4.在cmd中运行如图所示:

在IDLE中运行执行如下代码:

在IDLE中运行执行如下代码:

# -*- coding: utf-8 -*-
from __future__ import division

####################导入时间模块
import time
###############计算当前时间
time1=time.time()
################算法根据马青公式计算圆周率####################

number = int(input(‘请输入想要计算到小数点后的位数n:‘))

# 多计算10位,防止尾数取舍的影响
number1 = number+10

# 算到小数点后number1位
b = 10**number1

# 求含4/5的首项
x1 = b*4//5
# 求含1/239的首项
x2 = b// -239

# 求第一大项
he = x1+x2
#设置下面循环的终点,即共计算n项
number *= 2

#循环初值=3,末值2n,步长=2
for i in range(3,number,2):
    # 求每个含1/5的项及符号
    x1 //= -25
    # 求每个含1/239的项及符号
    x2 //= -57121
    # 求两项之和
    x = (x1+x2) // i
    # 求总和
    he += x

# 求出π
pai = he*4
#舍掉后十位
pai //= 10**10

############ 输出圆周率π的值
paistring=str(pai)
result=paistring[0]+str(‘.‘)+paistring[1:len(paistring)]
print (result)

time2=time.time()
print (u‘总共耗时:‘ + str(time2 - time1) + ‘s‘)

原文地址:https://www.cnblogs.com/wxyzzj/p/10575536.html

时间: 2024-10-09 13:00:37

用进度条表示求圆周率的进程的相关文章

Python中利用进度条求圆周率

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

圆周率计算和进度条

1.大家都知道有些时候我们玩游戏或者打开一些内存比较大的电脑会出现卡顿的情况,此时就需要我们下载进度条来减缓卡顿时间了 接下来就展示下实现这个指令的代码吧 import time scale=10 print("......执行开始......") for i in range(scale+1);       a,b='**'*i,'..'*(scale-i)       c=(i/scale)*100       print("%{:^3.0f} [{}->{}]&q

有进度条圆周率计算

有进度条圆周率计算: 代码: 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 = (

JAVA程序设计(17)----- 制作文件拷贝软件 进程 输入流输出流 NIO 进度条 底层拷贝 多线程

使用NIO对文件进行底层拷贝(按照字节)多线程技术初级应用 不阻塞程序运行 package com.lovo.homework01; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import

从进度条和alert的出现顺序来了解浏览器 UI 渲染 & JS进程

项目里有一个需求是在上传文件的时候需要显示进度条,那么理所当然的在上传完成后就需要提示用户上传完毕并且更新进度条. 之前的预期表现是,上传完毕后,先更新进度条到100%,再alert出提示,所以代码如下. 1 $('progressBar').text('100%'); 2 $('progressBar bar').css('width', '100%'); 3 alert('上传成功'); 问题一:实际表现为先alert出提示,此时被阻塞的页面显示的进度条没有被更新到100%. 分析原因,浏览

App更新之dialog数字进度条

App更新之dialog数字进度条 前言:现在一般的Android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新.当有更新时,会弹出一个提示框,点击下载,则在通知来创建一个数字进度条进行下载,下载成功后才到安装界面. 效果: 开发环境:AndroidStudio2.2.1+gradle-2.14.1 涉及知识: 1.Handler机制 2.自定义控件+Canvas绘画 3.自定义dialog 部分代码: public class NumberProg

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点:1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)和

shell脚本的简易进度条

一.简易进度条的基础 1.数组 bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似于C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其 值应大于或等于0. 定义数组:在Shell中,用括号来表示数组,数组元素用"空格"符号分割开. 读取数组元素值的一般格式是:${array_name[index]}. 读取数组元素所有值的一般格式是:${array_name[*]}或者${array_name[@]}. 求取数组的长度:${

移动web相册——css3进度条

1.介绍 因项目中上传作品和web相册都需要上传,都需要用到进度条,进度条的实现可以用Falsh,图片,javascript,但这里我是在移动端使用,所以重点介绍css3的实现方法. 2.代码展示 /*外层box*/ .progress_box{ height: 10px; width:200px; border-radius: 5px; background-color:#ececec; } /* 动画 */ @-webkit-keyframes progressbar { from { wi