Python随机数random模块使用指南


Posted in Python onSeptember 09, 2016

random 模块是Python自带的模块,除了生成最简单的随机数以外,还有很多功能。

random.random()

用来生成一个0~1之间的随机浮点数,范围[0,10

>>> import random
>>> random.random()
0.5038461831828231

random.uniform(a,b)

返回a,b之间的随机浮点数,范围[a,b]或[a,b),取决于四舍五入,a不一定要比b小。

>>> random.uniform(50,100)
76.81733455677832
>>> random.uniform(100,50)
52.98730193316595

random.randint(a,b)

返回a,b之间的整数,范围[a,b],注意:传入参数必须是整数,a一定要比b小

>>> random.randint(50,100)
54
>>> random.randint(100,50)
 
Traceback (most recent call last):
 File "<pyshell#6>", line 1, in <module>
  random.randint(100,50)
 File "C:\Python27\lib\random.py", line 242, in randint
  return self.randrange(a, b+1)
 File "C:\Python27\lib\random.py", line 218, in randrange
  raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)
ValueError: empty range for randrange() (100,51, -49)
>>> random.randint(50.5,100.6)
 
Traceback (most recent call last):
 File "<pyshell#7>", line 1, in <module>
  random.randint(50.5,100.6)
 File "C:\Python27\lib\random.py", line 242, in randint
  return self.randrange(a, b+1)
 File "C:\Python27\lib\random.py", line 187, in randrange
  raise ValueError, "non-integer arg 1 for randrange()"
ValueError: non-integer arg 1 for randrange()

random.randrang([start], stop[, step])

返回有个区间内的整数,可以设置step。只能传入整数,random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。

>>> random.randrange(100)
58
>>> random.randrange(10,100,2)
54

random.choice(sequence)

从序列中随机获取一个元素,list, tuple, 字符串都属于sequence。这里的sequence 需要是有序类型。random.randrange(10,100,2)在结果上与 random.choice(range(10,100,2) 等效。

>>> random.choice(("stone","scissors","paper"))
'stone'
>>> random.choice(["stone","scissors","paper"])
'scissors'
>>> random.choice("Random")
'm'

random.shuffle(x[,random])

用于将列表中的元素打乱,俗称为洗牌。会修改原有序列。

>>> poker = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]
>>> random.shuffle(poker)
>>> poker
['4', '10', '8', '3', 'J', '6', '2', '7', '9', 'Q', '5', 'K', 'A']

random.sample(sequence,k)

从指定序列中随机获取k个元素作为一个片段返回,sample函数不会修改原有序列。

>>> poker = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]
>>> random.sample(poker,5)
['4', '3', '10', '2', 'Q']

上述几个方式是Python常用的一些方法,但是关于随机数还有很多的故事。下回分解~

Python 相关文章推荐
归纳整理Python中的控制流语句的知识点
Apr 14 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Django学习笔记之Class-Based-View
Feb 15 Python
python测试mysql写入性能完整实例
Jan 18 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python拼接微信好友头像大图的实现方法
Aug 01 Python
django query模块
Apr 20 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 Python
3种python调用其他脚本的方法
Jan 06 Python
Python实现图像的垂直投影示例
Jan 17 Python
服务器端jupyter notebook映射到本地浏览器的操作
Apr 14 Python
利用ctypes提高Python的执行速度
Sep 09 #Python
python实现批量监控网站
Sep 09 #Python
利用python批量检查网站的可用性
Sep 09 #Python
Python如何判断数独是否合法
Sep 08 #Python
python框架django基础指南
Sep 08 #Python
python中星号变量的几种特殊用法
Sep 07 #Python
Python 实现 贪吃蛇大作战 代码分享
Sep 07 #Python
You might like
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
PHP获取昨天、今天及明天日期的方法
2016/02/03 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
jQuery Animation实现CSS3动画示例介绍
2013/08/14 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
python批量提交沙箱问题实例
2014/10/08 Python
python将ip地址转换成整数的方法
2015/03/17 Python
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
Python操作csv文件实例详解
2017/07/31 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书