用“大数据”的方法求圆周率Pi: 思路:计算机随机从0到1的数组成坐标为(x,y)的坐标,假设这里有一个以原点(0,0)为圆心,半径为1的,只看第一象限那个四分之一的圆,此时其面积为Pi/4,这个圆被一个第一象限中边长为1的正方形包住,面积为1。计算机随机生成的点(x,y),判断该点是否在四分之一圆内。随机生成n个点,统计落到圆内的点与n的比值,这个比值与面积之比相同,即:落到圆内的点数:n=四分之一圆的面积:正方形的面积,所以Pi=落到圆内的点数/(n*4)。随机取的点越多越精确。 以下为程序,要利用一个随机产生的函数random(),先载入random这个库,用import random语句实现:
import random
def pi(times
):
sum=0
for i
in range(times
):
x
=random
.random
()
y
=random
.random
()
d2
=x
*x
+y
*y
if d2
<=1:sum+=1
return(sum/times
*4)
times
=100000000
x
=pi
(times
)
print("Pi=%.8f" % (x
))
(此文为看沙行勉教授的《计算机科学导论——以Python为舟》所写)