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 相关文章推荐
netbeans7安装python插件的方法图解
Dec 24 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
python语言中with as的用法使用详解
Feb 23 Python
Python键盘输入转换为列表的实例
Jun 23 Python
python版DDOS攻击脚本
Jun 12 Python
Tensorflow不支持AVX2指令集的解决方法
Feb 03 Python
python 轮询执行某函数的2种方式
May 03 Python
python3中的logging记录日志实现过程及封装成类的操作
May 12 Python
python 瀑布线指标编写实例
Jun 03 Python
python 爬虫请求模块requests详解
Dec 04 Python
基于 Python 实践感知器分类算法
Jan 07 Python
python 中的@运算符使用
May 26 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
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
PDO::rollBack讲解
2019/01/29 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP实现计算器小功能
2020/08/28 PHP
javascript中的array数组使用技巧
2010/01/31 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
JQuery实现定时刷新功能代码
2017/05/09 jQuery
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
python实现统计代码行数的方法
2015/05/22 Python
python3实现点餐系统
2019/01/24 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
2019/09/16 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
枚举和一组预处理的#define有什么不同
2016/09/21 面试题
办理信用卡收入证明范例
2014/09/13 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
防灾减灾标语
2014/10/07 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
2021/06/11 Python
RPM包方式安装Oracle21c的方法详解
2021/08/23 Oracle
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL