Python中random模块生成随机数详解


Posted in Python onMarch 10, 2016

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

random.random

random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0

random.uniform

random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。

print random.uniform(10, 20) 
print random.uniform(20, 10) 
#---- 结果(不同机器上的结果不一样) 
#18.7356606526 
#12.5798298022

random.randint

random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

print random.randint(12, 20) #生成的随机数n: 12 <= n <= 20 
print random.randint(20, 20) #结果永远是20 
#print random.randint(20, 10) #该语句是错误的。下限必须小于上限。

random.randrange

random.randrange的函数原型为: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) 等效。

random.choice

random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章。下面是使用choice的一些例子:

print random.choice("学习Python") 
print random.choice(["JGood", "is", "a", "handsome", "boy"]) 
print random.choice(("Tuple", "List", "Dict"))

random.shuffle

random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:

p = ["Python", "is", "powerful", "simple", "and so on..."] 
random.shuffle(p) 
print p 
#---- 结果(不同机器上的结果可能不一样。) 
#['powerful', 'simple', 'is', 'Python', 'and so on...']

random.sample

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回 
print slice 
print list #原有序列并没有改变。

上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。

Python 相关文章推荐
python使用wmi模块获取windows下硬盘信息的方法
May 15 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
浅谈Python 的枚举 Enum
Jun 12 Python
python3实现磁盘空间监控
Jun 21 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
Python FtpLib模块应用操作详解
Dec 12 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
Tensorflow限制CPU个数实例
Feb 06 Python
python如何运行js语句
Sep 09 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
Python基础之Socket通信原理
Apr 22 Python
python生成器表达式和列表解析
Mar 10 #Python
python迭代器与生成器详解
Mar 10 #Python
Python装饰器基础详解
Mar 09 #Python
Python求算数平方根和约数的方法汇总
Mar 09 #Python
Python实现Linux命令xxd -i功能
Mar 06 #Python
基于Python实现一个简单的银行转账操作
Mar 06 #Python
Python切片知识解析
Mar 06 #Python
You might like
PHP 变量类型的强制转换
2009/10/23 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
浅析Python中的多进程与多线程的使用
2015/04/07 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
python实现手机通讯录搜索功能
2018/02/22 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
Python和Go语言的区别总结
2019/02/20 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
标准自荐信范文
2014/01/29 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
学生手册评语
2014/05/05 职场文书
客房部经理岗位职责
2015/02/02 职场文书
西安大雁塔导游词
2015/02/10 职场文书
小学德育工作总结2015
2015/05/12 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript
mysql主从复制的实现步骤
2021/10/24 MySQL