用python计算圆周率PI
要求
1.要求能算到小数点后面越多越好。
2.并用进度条提示算的进度,能给出多种进度条越好。
3.要求给出算圆周率π具体公式或者算法说明。
代码
1 from math import sqrt 2 from random import random 3 from time import perf_counter 4 5 DARTS =1000000 6 hits =0.0 7 start = perf_counter() 8 for i in range(1,DARTS+1): 9 10 x,y =random(),random() 11 dist =sqrt(x**2+y**2) 12 if dist <=1.0: 13 hits =hits+1 14 pi = 4*(hits/DARTS) 15 print("Pi值为:{}.".format(pi)) 16 print("运行时间是:{:.5f}s".format(perf_counter()-start))
输出

算法说明
这是一个几何概型,有一个外切圆形的正方形,直径和边长均为1,此时正方形和圆的面积之比为π,假设有无穷多的点随机落在该图形内,概率的期望值等于π。
浙公网安备 33010602011771号