此代码用于估计pi,最高目标是时间效率。考虑到这一点,我需要增加小数位数,因为目前它被限制在2位。
import numpy as np
def main(max_iterations=200):
a, b= np.random.random(max_iterations), np.random.random(max_iterations)
return 4 * (a ** 2 + b ** 2 < 1).sum() / max_iterations
main()
电流输出示例:
3.13
我注意到的一件事是,在max_iterations参数中添加0后,小数位数也随之增加。不过,我需要在函数中找到一个解决方案,在这个解决方案中,参数的值是多少并不重要。
我想要的输出示例:
3.127722772277228
如果想要更大的意义,请不要用后面有零的数字除以整数。
带max_iterations=200:
%运行pi_test.py
3.08
使用max_iterations=201:
%运行pi_test.py
3.084577114427861