圆周率的计算random库的应用
Posted anjoras-bk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了圆周率的计算random库的应用相关的知识,希望对你有一定的参考价值。
圆周率的计算
????????????????????????????????????????????????????????????????????????????????????????????????描述????????????????????????????????????????????????????????????????????????????????????????????????
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????
请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
输入输出示例
输入 | 输出 | |
示例 1 |
|
|
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)
以上是关于圆周率的计算random库的应用的主要内容,如果未能解决你的问题,请参考以下文章