求pi值

发布时间 2023-10-30 21:41:48作者: 51r

from random import random
from math import sqrt
from time import process_time as timer
DARTS=1000
hits=0.0
timer()
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)
print("Pi值是{}.".format(pi))
print("运行时间是:{:.5f}s".format(timer()))

import time
scale = 40
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,'-'))