博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3.6内置模块——random详解
阅读量:6080 次
发布时间:2019-06-20

本文共 1571 字,大约阅读时间需要 5 分钟。

python内置模块random是用来生成随机数的,在许多场合都能应用到,算是比较常见的一种模块吧,下面详细介绍其具体用法。

基本用法

  • 随机生成浮点数:有两种,一种没有参数,默认是0~1,另一种可以指定随机生成的浮点数范围。
>>> random.random()0.6448965915384378>>> random.uniform(5,6)5.1662895382835075
  • 随机生成指定范围的整数:有两种方法,第二种除了可以指定范围,还可以指定步长。
>>> random.randint(1,10)5>>> random.randrange(1,10)6>>> random.randrange(1,10,2)1
  • 随机生成指定样式中的元素:样式可以是字符串、元组、列表。
random.choice((1,2,'a','b'))2>>> random.choice([1,2,3,4])1>>> random.choice("qwerty")'t'
  • 随机生成指定数目的指定样式中的元素:样式可以是字符串、元组、列表、集合。
>>> random.sample("abcedf",2)['c', 'e']>>> random.sample((1,2,8,5,6),3)[6, 5, 2]>>> random.sample(['a','b','c','d','f'],2)['f', 'd']>>> random.sample({1,2,3,4,5},3)[2, 4, 3]>>>
  • 将列表的元素的顺序打乱:类似于生活中的洗牌,此方法返回值为空,将改变原来列表。
>>> item = [1,2,3,4,5,6,7]>>> random.shuffle(item)>>> print(item)[3, 6, 4, 2, 7, 1, 5]

简单实际应用

  • 随机生成六位数字验证码
import randomdef func():    captcha = ''    for i in range(6):        num = random.randint(0,9)        captcha += str(num)    return captchacaptcha = func()print(captcha)
648215
  • 随机生成六位数字和区分大小写字母混合的验证码

这里我们要知道一点的是,在国际标准ASCII码中规定了字符A~Z的ASCII值为65~90,a~z的ASCII值为97~122。python内置方法chr可以将对应的ASCII值转换成对应的字符。

import randomdef func():    captcha = ''    for i in range(6):        a = random.randint(1,3)        if a == 1:            num = random.randint(0,9)            captcha += str(num)        elif a == 2:            num = random.randint(65,90)            captcha += str(chr(num))        elif a == 3:            num = random.randint(97, 122)            captcha += str(chr(num))    return captchacaptcha = func()print(captcha)
qLK77Y

 

转载于:https://www.cnblogs.com/longwhite/p/10397690.html

你可能感兴趣的文章
比较 PHP集成开发工具(IDE)
查看>>
[转载]windows机器 cmd命令下能否使用什么命令通过ssh连接到远程lin
查看>>
MySQL入门-4:检索数据
查看>>
我的友情链接
查看>>
configure: error: wrong mysql library version or lib not found
查看>>
OSX 更新 node-qrcode
查看>>
awk命令
查看>>
Linux 核心-封面
查看>>
对面的GMAT请看过来
查看>>
CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器
查看>>
我的友情链接
查看>>
老板不希望手下通晓的大道理
查看>>
第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
查看>>
windows下安装MongoDB
查看>>
Do not request Window.FEATURE_SUPPORT_ACTION_BAR
查看>>
boot分区误删除,如何修复
查看>>
bootstrap中表格固定头部:
查看>>
<c:set> 用法
查看>>
为什么Windows会蓝屏(Blue Screen Of Death)?
查看>>
Sublime Text2 多行编辑快捷键
查看>>