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 返回汉字的汉语拼音
Feb 27 Python
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
python脚本实现查找webshell的方法
Jul 31 Python
Python中的异常处理学习笔记
Jan 28 Python
Python类定义和类继承详解
May 08 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
python 二维数组90度旋转的方法
Jan 28 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
Python requests库参数提交的注意事项总结
Mar 29 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 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
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php tp验证表单与自动填充函数代码
2012/02/22 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
javascript间隔刷新的简单实例
2013/11/14 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
NodeJS连接MongoDB数据库时报错的快速解决方法
2016/05/13 NodeJs
JS对象创建的几种方式整理
2017/02/28 Javascript
Vue.use源码分析
2017/04/22 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
简单实现python画圆功能
2018/01/25 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
python文件和文件夹复制函数
2020/02/07 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
水产养殖学应届生求职信
2013/09/29 职场文书
心理学专业毕业生推荐信范文
2013/11/21 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
媒体宣传策划方案
2014/05/25 职场文书
大专生自荐书范文
2014/06/22 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
兴趣班停课通知
2015/04/24 职场文书