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 shell根据ip获取主机名代码示例
Nov 25 Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 Python
python3.5 email实现发送邮件功能
May 22 Python
python画一个玫瑰和一个爱心
Aug 18 Python
python函数的万能参数传参详解
Jul 26 Python
python retrying模块的使用方法详解
Sep 25 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
在主流系统之上安装Pygame的方法
May 20 Python
关于Keras Dense层整理
May 21 Python
Python进行统计建模
Aug 10 Python
聊聊python中的循环遍历
Sep 07 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中require和include路径问题详解
2014/12/25 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
Javascript小技巧之生成html元素
2014/05/15 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
获取Django项目的全部url方法详解
2017/10/26 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
机电专业个人求职信范文
2013/12/30 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
检讨书格式
2015/05/07 职场文书
经销商会议开幕词
2016/03/04 职场文书
如何写好开幕词?
2019/06/24 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript
Elasticsearch 聚合查询和排序
2022/04/19 Python