random库的使用
一、random库介绍
random库是使用随机数的Python标准库
- 伪随机数:采用梅森旋转算法生成的(伪)随机序列中元素
- random库主要用于生成随机数
- 使用random库:
import random
1.1 random库概述
random库包括两类函数,常用共8个
- 基本随机数函数:
seed(), random()
- 扩展随机数函数:
randint(), getrandbits(), uniform(),randrange(), choice(), shuffle()
二、基本随机数函数
2.1随机数种子
[]
函数 | 描述 |
---|---|
seed(a=None) | 初始化给定的随机数种子,默认为当前系统时间 |
random() | 生成一个[0.0, 1.0)之间的随机小数 |
import random
random.seed(10) # 产生种子10对应的序列
random.random()
结果:0.5714025946899135
random.random()
结果:0.4288890546751146
random.seed(10)
random.random()
结果:0.5714025946899135
三、扩展随机数函数
函数 | 描述 |
---|---|
randint(a,b) | 生成一个[a, b]之间的整数 |
randrange(m, n[, k]) | 生成一个[m, n)之间以k为步长的随机整数 |
getrandbits(k) | getrandbits(k) |
uniform(a, b) | 生成一个[a, b]之间的随机小数 |
choice(seq) | 从序列seq中随机选择一个元素 |
shuffle(seq) | 将序列seq中元素随机排列,返回打乱后的序列 |
eg: randint()
import random
random.randint(10, 100)
结果:60
eg:randrange()
import random
random.randrange(10, 100, 10)
结果:80
eg:getrandbits()
import random
random.getrandbits(16)
结果:37885
eg:uniform()
import random
random.uniform(10, 100)
结果:11.334920142209832
eg:choice()
import random
random.choice([1, 2, 3, 4, 5, 6, 7])
结果:5
eg:shuffle()
import random
s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(s)
print(s)
结果:[3, 9, 7, 4, 1, 2, 6, 5, 8]
3.1 随机函数的使用
需要掌握的能力
- 能够利用随机数种子产生"确定"伪随机数
- 能够产生随机整数
- 能够对序列类型进行随机操作
四、圆周率的计算
- 蒙特卡洛方法
from random import random
from time import perf_counter
DARTS = 1000 * 1000
hits = 0.0
start = perf_counter()
a
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("圆周率值是: {}".format(pi))
print("运行时间是: {:.5f}s".format(perf_counter() - start))
random库的使用的更多相关文章
- Python使用turtle库与random库绘制雪花
记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下: 效果图如下:
- python学习笔记(8)--random库的使用
伪随机数:采用梅森旋转算法生成的伪随机序列中元素 使用random库 一.基本随机函数 随机数需要一个种子,依据这个种子通过梅森旋转算法产生固定序列的随机数.seed(a=None) 初始化给定的随 ...
- Random库 --Python3
随机数是随机试验的结果,是计算机通过随即种子根据一定算法计算出来的,随机种子通常可以由系统时钟产生.下面是random库中基本方法: 1.random():产生一个0到1之间的随机浮点数:0<= ...
- 2-1:math库与random库
一.math库: math库是python语言中常用的一个函数库,它包含了一批数学函数,下面我们看一下这个函数库 由于math库中的函数与数学中的函数比较一致,相对比较简单,请同学们自行练习一下: 二 ...
- python之random库
random库是用于产生并运用随机数的标准库 1. random库函数 (1)random.seed(a) 设置随机种子数,可以是浮点数或整数,如果不设置的话,则random库默认以系统时间产生当作随 ...
- Python小游戏——猜数字教程(random库教程)
今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...
- random库
伪随机数的原因: random库中函数主要用于产生各种分布的伪随机数序列.random库中的随机函数是按照一定算法模拟产生的,其概率是确定的.可见的,所以被称为伪随机数.而真正意义上的随机数是按照实验 ...
- python基础 — random库
python中用于生成伪随机数的函数库是random 因为是标准库,使用时候只需要import random random库包含两类函数,常用的共8个 --基本随机函数: seed(), random ...
- 笔记-9:使用random库生成随机数
random:主要目的是生成随机数 函数 说明 seed(a=None) 初始化随机数,默认值为当前系统时间 random() 生成一个[0.0,1.0)之间的随机数小数 randint(a,b) 生 ...
随机推荐
- 使用GDAL实现DEM的地貌晕渲图(二)
1. 问题 之前我在<使用GDAL实现DEM的地貌晕渲图(一)>这篇文章里面讲述了DEM晕渲图的生成原理与实现,大体上来讲是通过计算DEM格网点的法向量与日照方向的的夹角,来确定该格网点的 ...
- 洛谷P1640 [SCOI2010]连续攻击游戏 题解
题目链接: https://www.luogu.org/problemnew/show/P1640 分析: 这道题用二分图来解决即可.应该可以作为网络流中的模板题来食用, 每一个武器有两个属性,但是只 ...
- Method has too many Body parameters openfeign
feign 调用问题,最新版本的feign和旧版本的稍微有一些不一样,具体如下(eureka 作为服务发现与注册 ) 依赖: compile('io.github.openfeign:feign-ja ...
- Python教程资源
链接:https://pan.baidu.com/s/1zcCG4KJ8p4GI-x2c6PY2Ng 提取码:n2q2
- 浅入深出Vue:代码整洁之去重
在开始本篇的主题之前,让我们把上次遗留下来的问题都清理一下: 将其他组件中 axios 请求的地方封装起来. 这里就不把代码放在开头了,相关代码都放在文末,有兴趣了解的童鞋可以先往下翻. 好了, 我们 ...
- SQL数据同步到ElasticSearch(三)- 使用Logstash+LastModifyTime同步数据
在系列开篇,我提到了四种将SQL SERVER数据同步到ES中的方案,本文将采用最简单的一种方案,即使用LastModifyTime来追踪DB中在最近一段时间发生了变更的数据. 安装Java 安装部分 ...
- 10G文件如何对里面单词出现排序
10G文件如何对里面单词出现排序的问题(只要文件系统支持,不限大小). 其实这个问题很简单,10G文件是很大,但是出现的字符或单词是很有限的. 单字符只有那么一百多个,单词数量满打满算,以英文单词总数 ...
- go mod 无法自动下载依赖包的问题
go 11以后启用了go mod功能,用于管理依赖包. 当执行go mod init生成go.mod文件之后,golang在运行.编译项目的时候,都会检查依赖并下载依赖包. 在启动了go mod之后, ...
- golang "[]uint8" to string
关于Uinit8和Byte: The Go Programming Language Specification Numeric types uint8 the set of all unsigned ...
- spark streaming 接收kafka消息之五 -- spark streaming 和 kafka 的对接总结
Spark streaming 和kafka 处理确保消息不丢失的总结 接入kafka 我们前面的1到4 都在说 spark streaming 接入 kafka 消息的事情.讲了两种接入方式,以及s ...