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中字典的合并值相加与异或对比
Jun 04 Python
利用python操作SQLite数据库及文件操作详解
Sep 22 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
python实现雪花飘落效果实例讲解
Jun 18 Python
简单了解python中对象的取反运算符
Jul 01 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
python获取引用对象的个数方式
Dec 20 Python
python3连接mysql获取ansible动态inventory脚本
Jan 19 Python
python设置代理和添加镜像源的方法
Feb 14 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
Python加密技术之RSA加密解密的实现
Apr 08 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
2017/12/19 jQuery
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
Python中Selenium库使用教程详解
2020/07/23 Python
Too Faced官网:美国知名彩妆品牌
2017/03/07 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
美国知名眼镜网站:Target Optical
2020/04/04 全球购物
自我鉴定的范文
2013/10/03 职场文书
委托公证书范本
2014/04/03 职场文书
质量提升方案
2014/06/16 职场文书
检讨书范文1000字
2015/01/28 职场文书
我的长征观后感
2015/06/09 职场文书
结婚幸福感言
2015/08/01 职场文书
2016年父亲节寄语
2015/12/04 职场文书