random库

1.random库是随机数的Python标准库
 
2.原理 : random生成的伪随机数,而采用梅森旋转算法生成的(伪)随机序列中的元素叫做伪随机数
https://liam.page/2018/01/12/Mersenne-twister/ 这个是关于梅森旋转算法的详细解释以及Python中的产生随机数的实现
 3.分类:
一共可分为两类函数,一类叫基本随机函数,另一类则叫做扩展随机函数.  
基本随机函数里包括seed()和random()
扩展随机函数里包括randint(),randrange(),getranbits() (这三个返回值为整数) uniform() (这一个返回值为浮点数)     choice(),shuffle()   (这两个的参数为列表,元组以及字典等一类)
4.基本随机函数:
1)seed() :初始化随机数种子
    根据梅森旋转算法的理论,我们可以知道的是可以对每一个随机种子产生一个随机序列,如果随机种子不变,这个随机序列也是不变的,所以才会被称为  伪随机,
结合Python理解,就是通过seed()函数初始化随机种子,我们对所谓的随机数进行控制,因为每次初始化随机种子后产生的随机序列都是一样的
2)random():产生随机数(伪)
按照一定顺序从随机序列中"拿出"数字
例如:
>>> import random>>> random.seed(16)'''第一次初始化'''
>>> random.random()
0.36152277491407514
>>> random.random()
0.480480665601294
>>> random.seed(16)'''第二次初始化'''
>>> random.random()
0.36152277491407514
>>> random.random()
0.480480665601294
5.扩展随机函数:
1)randint() :
  random.randint(1,10)  ===>返回[1,10]之间的整数
2)randrange() :
  random.randrange(1,10,2) ====>返回[1,10)之间以2为步长的整数
3)getrandbits() :
  random.getrandbits(13)   ====>返回有 13 位 的二进制数 转化的整数
4)uniform() :
  random.uniform(1,10)  ====> 返回(1,10)之间的浮点数
5)choice() :
  random.choice([1,12,123,1234,12345,1234456,2324341,324,12,32,143,4])
    ====>  从参数的元素里随机抽取一个元素
6)shuffle() : 

>>> a = [1,21,3,13,34,234,3,4,14,2]
>>> random.shuffle(a)
>>> a
[234, 2, 34, 21, 3, 14, 1, 4, 13, 3]

将参数的元素随机排序

 

最新文章

  1. 【HTML5&CSS3进阶04】CSS3动画应该如何在webapp中运用
  2. C++实例讲解Binder通信
  3. InfluxDB学习之InfluxDB的HTTP API查询操作
  4. lamp遇到问题
  5. iOS Orientation bug
  6. JMeter专题系列(一)工具简单介绍
  7. ef操作类
  8. 谨慎使用多线程中的fork
  9. Oracle GoldenGate 12c实时捕获SQL Server数据
  10. hdu 1443 Joseph (约瑟夫环)
  11. @Override must override a superclass method 问题解决
  12. QtCreator调试传入运行参数
  13. C#.NET学习笔记2---C#.第一个C#程序
  14. $(obj).index(this)与$(this).index()异同讲解
  15. HDU 6069 Counting Divisors
  16. Shell编程(week4_day1)--技术流ken
  17. python常见问题汇总
  18. Mysql字段名与保留字冲突导致的异常解决
  19. 微信小程序Dom事件实现
  20. js-cookie的用法

热门文章

  1. Firewalld--01 防火墙安全、基本指令、区域配置
  2. rabbit例子
  3. 转Serial,Parallel,CMS,G1四大GC收集器特点小结
  4. vue的keep-alive组件
  5. nginx配置虚拟主机-端口号区分/域名区分
  6. C#中命名空间,C#程序中的一种代码组织形式,主要用来标识类的可以范围,引用using 命名空间
  7. 数字类别生成onehot
  8. 【CF1255A】Changing Volume【思维】
  9. BUUCTF | [De1CTF 2019]SSRF Me
  10. [CSP-S模拟测试]:柱状图(树状数组+二分+三分)