import random
import time
import numpy as np
def a(n):
count = 0
j = 0
start_time = time.perf_counter()
for i in range(1, n + 1):
x = random.uniform(-1, 1)
y = random.uniform(-1, 1)
if pow(x * x + y * y, 0.5) <= 1:
count += 1
j += 1
end_time = time.perf_counter()
print("{:^10}".format(i), end=" ")
print("运行时间为{:.4f}s".format(end_time - start_time), end=" ")
print("误差为{:<8.3%}".format((np.pi - count * 4 / j)/np.pi),end=" ")
yield count * 4 / j
n = eval(input())
for i in a(n):
print("拟合值为{:.4f}".format(i))
输出:这里输入的n为10
1 运行时间为0.0000s 误差为-27.324% 拟合值为4.0000
2 运行时间为0.0001s 误差为-27.324% 拟合值为4.0000
3 运行时间为0.0001s 误差为-27.324% 拟合值为4.0000
4