python圆周率计算3.218750_python-圆周率的计算【random库的应用】

圆周率的计算

????????????????????????????????????????????????????????????????????????????????????????????????描述????????????????????????????????????????????????????????????????????????????????????????????????

求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????

请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

输入输出示例

输入

输出

示例 1

1024

3.218750

from random import seed #调用random中函数seed()获取随机数种子

from random import random #调用random中函数random()

DARTS= eval(input()) #输入撒点数量,数越大越准

seed(123) #获取唯一确定的随机数列

hits= 0.0 #开始时命中圆内部的数量

for i in range(1, DARTS+1):

x, y= random(), random() #产生点的随机坐标

dist= pow(x**2+ y**2,0.5) #用点与圆心的距离判断是否在圆内

if dist<= 1.0:

hits= hits+1

pi= 4*(hits/ DARTS) #得到圆周率的近似值

print("{:.6f}".format(pi)) #保留小数点后6位

其中涉及的知识点

random库

(1),seed(a)函数

初始化给定的随机数种子(a) ,得到唯一确定的随机数列 。a = None 时默认当前系统时间

常与random库中其他函数叠用,a不变时与其他函数叠用得到唯一的随机数(举一反三实验复现)

(2),random()函数

生成一个[0.0, 1.0]之间的随机小数

(3),randint( a, b)

生成一个[ a, b]之间的整数

(4),randrange(M , N[ ,K])

生成一个[ M, N ]间以K为步长的随机整数,[,K]可省,默认为1

(5),uniform( a, b)

生成(a , b)之间随机小数 (16.f)

原文:https://www.cnblogs.com/Anjoras-bk/p/12555414.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值