Python产生随机数的功能在random模块中实现,实现了各种分布的伪随机数生成器

该模块可以生成0到1的浮点随机数,也可以在一个序列中进行随机选择,产生的随机数可以是均匀分布,高斯分布,对数正态分布,负指数分布以及alpha,beta分布,但是呢,这些随机数不适合使用在以加密为目的的应用中

你也可以自己派生一个Random类的子类,自己去实现子类中的random(),seed(),getstate(),setstate()函数,一个新的产生器可以提供一个getrandbits()方法,这允许randrange()产生任意范围的随机数

警告:

这个模块中的随机数是伪随机数,不能应用于安全加密,如果你需要一个真正的密码安全随机数,你需要使用os.urandom()或者random模块中的SystemRandom类来实现


参考官方文档,random模块的常用函数如下:

1、random.random()

用于生成一个0到1的随机浮点数:0<= n < 1.0

2、random.uniform(a,b)

用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b,则 b <= n <= a。

3、random.randint(a,b)

用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机整数数n:a <= n <= b

4、random.choice(seq)

从序列中获取一个随机元素。参数seqe表示一个有序类型,可以是list,tuple,array,str等

5、random.randrange([start,] stop[, step])

从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10,100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10,100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

6、random.shuffle(x[,random])

用于将一个列表中的元素打乱,可以用这个函数写一个洗牌的程序

7、random.sample(seq,k)

从指定序列中随机获取指定长度的片断,sample函数不会修改原有序列,如果k大于seq元素个数的话会报错。

>>> random.random()                      # Random float x, 0.0 <= x < 1.0
0.37444887175646646>>> random.uniform(1, 10)                # Random float x, 1.0 <= x < 10.0
1.1800146073117523>>> random.randrange(10)                 # Integer from 0 to 9
7>>> random.randrange(0, 101, 2)          # Even integer from 0 to 100
26>>> random.choice('abcdefghij')          # Single random element
'c'>>> items = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(items)
>>> items
[7, 3, 2, 5, 6, 4, 1]>>> random.sample([1, 2, 3, 4, 5],  3)   # Three samples without replacement
[4, 1, 5]

Python Random随机数相关推荐

  1. python random随机数 RUNOOB python练习题50

    用来练手的python练习题,原题链接: python练习实例50. 该练习题主要包含了random模块随机数的应用,下面给出几个常用的模块内函数. 1. 生成浮点型随机小数 最简单的,就是用rand ...

  2. python random -- 随机数

    目录 加载相关库 一.random基础 二.实数分布 2.1 对称分布 2.2 指数分布 2.3 Beta 分布 2.4 Gamma 分布 2.5 高斯分布 2.6 对数正态分布 2.7 正态分布 2 ...

  3. python生成随机数random操作_Python random生成随机数示例

    代码中经常有一些生成随机数的需求.特意整理了一下Python中random模块的一些相关使用方法示例. python生成随机数 随机整数: >>> import random > ...

  4. RANDOM模块:PYTHON获取随机数

    RANDOM模块:PYTHON获取随机数 1. random.random random.random(): 用于生成一个0到1的随机浮点数: 0 <= n < 1.0 例子: >& ...

  5. Python攻城师的成长————模块突破(collections、time与datetime、random随机数模块)

    今日学习目标: 学习并应用collections.time与datetime.random随机数模块知识 今日学习内容: collections模块 time与datetime模块 random随机数 ...

  6. python生成随机数random.randint()随机取值的概率

    python生成随机数random.randint() 1.random.randint(参数1,参数2) 参数1.参数2必须是整数 函数返回参数1和参数2之间的任意整数 2.random.unifo ...

  7. python输出多个随机数_怎么用python输出随机数

    python中的random模块用于生成随机数,random模块中有很多方法,其中randint 想要使用 Python 生成随机不重复的数,我们可以使用 random 模块来实现:>>& ...

  8. python 编程一日一练-「每日一练」巧用python生成随机数

    原标题:「每日一练」巧用python生成随机数 随机数在我们的生产和生活中有很多的应用场景,比如说登录验证的随机数字等等,那么你知道在Python中怎么生成随机数吗? 往下看,就是这么简单! 题目 p ...

  9. python生成随机数方法_Python生成随机数的方法

    如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文 ...

最新文章

  1. linux下卸载自带jdk,重新安装jre运行环境
  2. binder IPC TRANSACTION过程分析(BC_TRANSACTION-Binder Driver)
  3. 2014年中回首与展望
  4. python3 time模块与datetime模块
  5. OpenCASCADE绘制测试线束:拓扑命令之历史命令
  6. 10.29 工作笔记 ndk编译C++,提示找不到头文件(ndk-build error: string: No such file or directory)...
  7. php基础知识总结大全,php基础知识回顾 —— 常量
  8. bzoj2243 树链剖分
  9. 【git】Git Submodule管理项目子模块
  10. 从源码解析 Spring JDBC 异常抽象
  11. AcrelEMS-EV汽车制造能效管理系统解决方案
  12. 单元测试chapter2
  13. 飞书开放平台Java-Sdk
  14. 逗号运算符java_简单的java计算器 实现了重复标点及运算符连点限制
  15. 如何使用 DiskGenius 合并分区教程
  16. 干支纪年法简便算法_初中阶段常用的四种历史纪年法
  17. 微信支付(一)SpringBoot 实现微信扫码支付/Native支付
  18. win10 下 pdfium编译 VS2017
  19. 看完沐神的装机视频,原来还能这么玩?
  20. 细说振动位移、速度、加速度

热门文章

  1. HTML表单验证(含用户名,密码,邮箱,手机号,验证码-验证)
  2. 利用Abel_Cain软件实现ARP欺骗
  3. 怎么卸载计算机自带游戏,电脑自带游戏怎么删除
  4. 怎么找属于自己最优的2B增长模型?
  5. 10个免费开源的JS音乐播放器插件
  6. defaultChecked 和 checked 的区别
  7. [杂谈]系统盘安装在其他电脑上能正常启动吗?
  8. 如何获得的office 365 年卡
  9. Docker工具之Daocloud的使用
  10. 通讯软件002——快速使用modscan进行modbus调试