用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,此时正方形和圆的面积之比为π,假设有无穷多的点随机落在该图形内,概率的期望值等于π。

 

 

 

 
posted @ 2023-11-12 16:42  事事顺心ouo  阅读(53)  评论(0)    收藏  举报