python圆周率计算

项目场景:

提示:这里简述项目相关背景:
实验课作业


问题描述:

提示:这里描述项目中遇到的问题:
在这里插入图片描述


原因分析:

主要的思想是蒙特卡罗方法。思想:随机向在一个单位正方形和1/4的圆中,抛洒大量的随机种子,然后根据每个点到圆心的距离从而判断该点位于圆内还是位于圆外,然后根据落在圆内的点的数量除以总的随机种子就等于pi/4。随机点数量越大,越充分覆盖整个圆形区域,则得到的pi的数据越精准。这主要是利用离散点值表示图形的面积,通过面积比例来求解pi的值。


解决方案:

代码:

import random
import math
random.seed(123)
num = eval(input())
count = 0
for i in range(1, num+1):
    x, y = random.random(), random.random()
    res = math.sqrt(x**2 + y**2)
    if res <= 1:
        count = count + 1
pi = 4*(count/num)
print("{:.6f}".format(pi))

注:
random.seed()函数:用于指定随着数生产所用算法开始的整数值。如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同,而且设置的seed()值仅一次有效。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super.Bear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值