随机数个数比==图形面积比,求π

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值