求Π

发布时间 2023-10-30 20:40:00作者: 刘珈麟

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()))

print("3120刘珈麟")