python作业: 求Π,进度条

发布时间 2023-10-30 20:00:24作者: slowdowna

from random import random

from math import sqrt

from time import perf_counter
DARTS = 10000000
hits = 0.0
perf_counter()
for i in range(1,DARTS+1):
x,y = random(),random()
dist = sqrt(x**2 + y**2)
if dist <= 1.0:
hits = hits+1
pi = 4 * (hits/DARTS)
#进度条
import time
scale = 50
print('执行开始'.center(scale//2,'-'))
t = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '.' * (scale - i)
c = (i/scale) * 100
t -= time.perf_counter()
print('\r{:^3.0f}%[{}->{}]{:.2f}s'.format(c,a,b,-t),\
end='')
time.sleep(0.1)
print('\n'+'执行结束'.center(scale//2,'-'))
#输出结果
print('pi值是{}.'.format(pi))
print('运行时间是:{:.5f}s'.format(perf_counter()))