Python random模块的使用示例


Posted in Python onOctober 10, 2020

常用的 random 模块方法

import random
 
# random.random()用于生成一个 0 到 1 的随机浮点数: 0 <= n < 1.0
print(random.random()) # 0.18246795790915304


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


# random.randrange([start], stop[, step]),
# 从指定范围内,按指定基数递增的集合中获取一个随机数
# 如:random.randrang(10, 100, 2),结果相当于从[10,12,14,16, ... 96,98]序列中选取一个随机数
# random.randrang(10, 100, 2) 在结果上与 random.choice(range(10,100,2)) 等效
print(random.randrange(1,10)) # 5


# random.choice 从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。
# 这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。
# list, tuple, 字符串都属于sequence。
print(random.choice("Python")) # y
print(random.choice(["JGood", "is", "a", "handsome", "boy"])) # JGood
print(random.choice(("Tuple", "List", "Dict"))) # List


# random.sample(sequence, k),从指定序列中随机获取指定长度的片段。sample函数不会修改原有序列。
print(random.sample([1,2,3,4,5],3)) #[1,2,5]


# random.shuffle(x[, random]),用于将一个列表中的元素打乱。
p = ["Python", "is", "powerful", "simple", "and so on..."]
print(random.shuffle(p))
# ['powerful', 'simple', 'is', 'Python', 'and so on...']


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

实际应用

import random
lis = [1,2,3,4,5,6,7,8,9,10]

# 随机生成浮点数
print(random.random())     #随机返回0~1之间的浮点数
0.47626693393991737
print(random.uniform(1,10))   #随机返回1~10之间的浮点数
4.0844448042717225

# 随机生成整数
print(random.randint(1,10))     #随机生成1~10之间的整数
8
print(random.randrange(0,10,2))   #随机生成0~10之间的偶数
8
print(random.randrange(1,10,2))   #随机生成1~10之间的基数
1

# 操作序列、字符串
## 从序列、字符串中随机返回一个元素
print(random.choice(lis))
4
print(random.choice('abcdefg'))
g

## 随机截取序列、字符串中指定长度片段
print(random.sample(lis,2))
[9, 4]
print(random.sample('abcdefg',2))
['f', 'a']

## 打乱一个序列
random.shuffle(lis)
print(lis)
[7, 6, 1, 2, 10, 3, 4, 8, 5, 9]

生成随机验证码

import random
 
checkcode = ''
for i in range(6):
  current = random.randrange(0, 6)
  if current != i:
    temp = chr(random.randint(65, 90))
  else:
    temp = random.randint(0, 9)

  checkcode += str(temp)
print(checkcode)

以上就是Python random模块的使用示例的详细内容,更多关于Python random模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python urlopen 使用小示例
Sep 06 Python
Python两个整数相除得到浮点数值的方法
Mar 18 Python
Python中splitlines()方法的使用简介
May 20 Python
Python中关于使用模块的基础知识
May 24 Python
Python和Perl绘制中国北京跑步地图的方法
Mar 03 Python
python并发2之使用asyncio处理并发
Dec 21 Python
一道python走迷宫算法题
Jan 22 Python
对numpy中array和asarray的区别详解
Apr 17 Python
基于python实现上传文件到OSS代码实例
May 09 Python
Python OrderedDict字典排序方法详解
May 21 Python
Python 如何批量更新已安装的库
May 26 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 Python
python 装饰器的使用示例
Oct 10 #Python
python使用bs4爬取boss直聘静态页面
Oct 10 #Python
通过案例解析python鸭子类型相关原理
Oct 10 #Python
通过实例解析python subprocess模块原理及用法
Oct 10 #Python
如何使用python自带IDLE的几种方法
Oct 10 #Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
Oct 10 #Python
python如何利用Mitmproxy抓包
Oct 10 #Python
You might like
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
JavaScript中的私有成员
2006/09/18 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
2010/06/07 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
Python监控主机是否存活并以邮件报警
2015/09/22 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
Python Flask框架实现简单加法工具过程解析
2020/06/03 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
"序列点" 是什么
2016/07/29 面试题
公证书标准格式
2014/04/10 职场文书
旅游活动总结
2014/08/27 职场文书
公司地址变更通知
2015/04/25 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL