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装饰器decorator介绍
Nov 21 Python
python通过邮件服务器端口发送邮件的方法
Apr 30 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
Python之列表的插入&amp;替换修改方法
Jun 28 Python
python修改txt文件中的某一项方法
Dec 29 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
Pytorch中.new()的作用详解
Feb 18 Python
python实现图片横向和纵向拼接
Mar 05 Python
Django实现celery定时任务过程解析
Apr 21 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 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&amp;java(一)
2006/10/09 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
用YUI做了个标签浏览效果
2007/02/20 Javascript
学习ExtJS table布局
2009/10/08 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
详解vuex之store拆分即多模块状态管理(modules)篇
2018/11/13 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
Python生成不重复随机值的方法
2015/05/11 Python
Python学习小技巧之列表项的拼接
2017/05/20 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python中模块的__all__属性详解
2017/10/26 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
基于Python函数和变量名解析
2019/07/19 Python
Python中的self用法详解
2019/08/06 Python
python爬虫用mongodb的理由
2020/07/28 Python
Python如何将字符串转换为日期
2020/07/31 Python
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
受欢迎的大学生自我评价
2013/12/05 职场文书
党员个人公开承诺书
2014/08/29 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书