#TextProBarV1.pyimport time
scale=10print('------执行开始------')for i inrange(scale+1):
a='*'*i
b='.'*(scale-i)
c=(i/scale)*100print('{:^3.0f}%[{}->{}]'.format(c,a,b))
time.sleep(0.1)print('------执行结束------')
#TextProBarV2.pyimport time
for i inrange(101):print('\r{:3}%'.format(i),end='')#\r默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容
time.sleep(0.1)
#TextProBarV3.pyimport time
scale =50print("执行开始".center(scale//2,"-"))
start = time.perf_counter()for i inrange(scale+1):
a ='*'* i
b ='.'*(scale - i)
c =(i/scale)*100
dur = time.perf_counter()- start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)print("\n"+"执行结束".center(scale//2,'-'))
#CalPiV2.pyfrom random import random
from time import perf_counter
DARTS=1000*1000
hits=0.0
start=perf_counter()for i inrange(1,DARTS+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5)if dist<=1.0:
hits=hits+1
pi=4*(hits/DARTS)print('圆周率是:{}'.format(pi))print('运行时间是:{:.5f}s'.format(perf_counter()-start))
#CalPiV1.py
pi=0
N=100for k inrange(N):
pi+=1/pow(16,k)*(\
4/(8*k+1)-2/(8*k+4)-\
1/(8*k+5)-1/(8*k+6))#\转行连续print('圆周率是:{}'.format(pi))