楼主: 一亿两白银
2440 4

[问答] 用python实现浦丰投针实现,结果有问题? [推广有奖]

  • 8关注
  • 0粉丝

已卖:384份资源

博士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
72 个
通用积分
0.0605
学术水平
8 点
热心指数
8 点
信用等级
7 点
经验
3227 点
帖子
219
精华
0
在线时间
197 小时
注册时间
2012-12-10
最后登录
2020-4-16

楼主
一亿两白银 学生认证  发表于 2018-12-22 08:35:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

def buffon(n,l=0.8,a=1):


    k=0
    theta=[random.uniform(0,np.pi) for i in range(n)]
    x=[random.uniform(0,a/2) for i in range(n)]
    for i in range(n):
        if x[i]<=(1/2*np.sin(theta[i])):
            k+=1
    return k,n,2*n*l/(k*a)
buffon(100000)


###输出结果为2.519。。。。

正常结果不是应该在3.14附近的吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Uniform random range Theta

沙发
没意思教教众乙 发表于 2018-12-22 10:04:40 来自手机
一亿两白银 发表于 2018-12-22 08:35
def buffon(n,l=0.8,a=1):


您好,我认为应当做如下的修改<br>
....<br>
if x &lt;= (0.8/2*np.sin(theta)):<br>
....

藤椅
没意思教教众乙 发表于 2018-12-22 10:05:58 来自手机
没意思教教众乙 发表于 2018-12-22 10:04
您好,我认为应当做如下的修改
....
if x &amp;lt;= (0.8/2*np.sin(theta)):
if x &lt;= (0.8/2*np.sin(theta))

板凳
没意思教教众乙 发表于 2018-12-22 10:10:40 来自手机
没意思教教众乙 发表于 2018-12-22 10:04
您好,我认为应当做如下的修改
....
if x &amp;lt;= (0.8/2*np.sin(theta)):
似乎不能正常显示方括号,但是按照您原来的代码,无法运行。
154544464071238.jpeg

报纸
一亿两白银 学生认证  发表于 2018-12-22 10:21:22
没意思教教众乙 发表于 2018-12-22 10:10
似乎不能正常显示方括号,但是按照您原来的代码,无法运行。
对的,我搞错了,应该是0.8而不是1,感谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 08:33