大一学生第一次写博客,大家多多支持
这个方法感觉和高中学的概率是一样的,通过概率的办法来对pi(圆周率)进行计算。
具体思路就是,随机(使用random)生成坐标,将所有在正方形里的点的个数统计,再将圆圈里面的个数记下来。将在圆圈里面的点(theSample)除以正方形里的点(theSum)*4(这里的4可以理解为面积)
用随机数打点,(x,y)。
# 随机生成x,y
x = y = random.random()
记录打在正方形上的点。
if x<1 and y<1:theSum += 1
记录打在圆上的点
#算半径
r =math.sqrt( x**2 + y**2)
if r < 1:theSample += 1
最后计算
pi = theSample/theSum*4
总之,这个问题还是挺简单的。
源代码
import random
import math
theSum = theSample = 0
for i in range(0,100000):
# 随机生成x,y
x = y = random.random()
#算半径
r =math.sqrt( x**2 + y**2)
if x<1 and y<1:theSum += 1
if r < 1:theSample += 1
# π的值为:4*(落在圆内的点/总的点)
pi = theSample/theSum*4
print(pi)