python标准模块--random模块

python提供random模块,使用该模块可以生成伪随机数,或根据给定的序列数据进行随机抽取

常用函数

函数描述范围
seed()指定种子来初始化伪随机数生成器-
random()生成一个的随机浮点数[0.0,1.0)
uniform(x,y)生成一个在指定范围内的随机浮点数[x,y]
randint(x,y)生成一个指定范围内的随机浮点数[x,y]
randrange(x,y,step)指定范围内,按照step递增数据,并从里面抽取一个数据[x,y)
choice(seq)从序列seq中抽取一个数据-
shuffle(seq)将序列seq中随机排列(改变原序列)-

常用函数使用举例

在这里插入图片描述

应用小例—使用蒙特卡罗方法计算圆周率

思路来源:中国大学MOOC嵩天老师的课程

简介

关于蒙特卡罗方法,笔者引用百科对其的定义:使用随机数(或更常见的伪随机数)来解决很多计算问题的方法,想要了解更多请点击:百度百科—蒙特卡罗方法

过程介绍

在这里插入图片描述

假设我们现在知道圆面积的计算公式,但是不知道圆周率的值,这时有一个边长为1的正方形,有一个¼圆与其内接,我们向正方形中抛点,每个点的落点位置随机,如果抛出的点足够多,那么落在¼圆中的点数x与抛出的总点数y之比就等于¼圆与正方形的面积之比

import random
import math

total_num=1000*1000		# 总点数
circle_num=0	# 落在圆中的点数
for i in range(total_num):
    x,y=random.random(),random.random()		# 生成坐标用来表示点的位置
    dist=math.sqrt(x**2+y**2)		# 计算点与原点O的距离以确定点是否在圆内
    if dist<=1.0:
        circle_num+=1		# 计算出圆内点数
pii=4*(circle_num/total_num)	# 根据已知中的等式关系得出计算式
print(f'您得出的圆周率为:{pii}')
print('您的圆周率准确度大约为:{:.6f}'.format(pii/math.pi))	# 我们取math模块中的pi作为标准来查看得出的结果的准确度

运行结果
在这里插入图片描述

实际上总的点数越多,精准确度越高,读者可以自行尝试

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夺笋123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值