random()函数,返回0~1之间的随机数
sqrt(x)函数,返回x的开平方
eval(x)函数,用来执行字符串表达式,并返回表达式的值
'''
求π
方法:随机数,数形结合。直角坐标系圆心为原点的单位圆,和中心为原点的2单位正方形。
单位圆的面积/正方形的面积=πr2/4=π/4,再乘以4就是π
求横纵坐标都为0~1之间的随机数的2维点落在单位圆里的概率。
为计算方便只计算第一象限,然后乘4
随机数的个数比==图形的面积比
'''
from random import random #random()函数返回0~1之间的随机数
from math import sqrt #sqrt()函数返回开平方
N=eval(input('请输入次数:')) #eval()函数用来执行一个字符串表达式,并返回表达式的值
k=0 #落在单位圆的随机数,起步是0
for i in range(1,N+1): #N次循环,N个点
x,y=random(),random() #第i个点的横纵坐标都是0~1之间的随机数
dist=sqrt(x**2+y**2) #点i到原点的距离
if dist<=1.0: #点i到原点的距离<=1
k=k+1
pi=4*(k/N) #落在单位圆里的随机数个数除以总个数
print(pi)