Python二级备考笔记2 随机验证码
1 随机验证码
类型:Python 程序控制结构
参照代码模板完善代码,实现下述功能。
利用 random 随机库里的函数,生成一个由四个大小写字母组成的验证码,显示在屏幕上。
示例1:
输入:无
输出:"ESaY"
已给代码:
#在_____处填写一行代码
#在…处填写多行代码
#不允许修改其他代码
import random as r
zmb = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz'
r.seed(1)
…
print(code)
1.1 代码
#在_____处填写一行代码
#在…处填写多行代码
#不允许修改其他代码
import random as r
zmb = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz'
r.seed(1)
code = ''
for i in range(4):
code = code + r.choice(zmb)
print(code)
2.1 random库(随机库)
2.1.1 seed(随机数种子)
描述
为了能够确定输出的随机数,而设定的一个种子(值),只要种子相同,输出的随机数就相同。初始化随机数种子,默认值为当前系统时间
语法
seed(a = None)
返回值
无
例子
from random import *
print(randint(0,100))
seed(1)
print(randint(0,100))
我们将该代码运行三次看看结果
35
17
100
17
59
17
不难看出,没有设置随机数种子的第一个输出,每一次的输出都不相同(也有极小的可能相同);而第二个设置了随机数种子的输出则每一次的输出结果都是固定的。
2.1.2 random()
描述
生成一个[0.0,1.0)之间的随机小数
语法
random()
返回值
一个[0.0,1.0)之间的随机小数
2.1.2 randint(begin,end)
描述
生成一个[begin,end]之间的整数
语法
randint(begin,end)
参数
begin--随机范围的最小值
end--随机范围的最大值
返回值
一个[begin,end]之间的整数
2.1.3 getrandbits(length)
描述
生成一个length比特长度的随机整数
语法
getrandbits(length)
参数
length--一个整数,代表所返回的比特长度
返回值
一个length比特长度的随机整数
2.1.4 uniform(begin,end)
描述
生成一个[begin,end]之间的小数
语法
uniform(begin,end)
参数
begin--随机范围的最小值
end--随机范围的最大值
返回值
一个[begin,end]之间的小数
2.1.5 randrange(start,stop[,step])
描述
生成一个[start,stop)之间以step为步数的随机整数
语法
randrange(start,stop[,step])
参数
start--随机范围的最小值
end--随机范围的最大值
step--间隔的步数
返回值
一个[start,stop)之间以step为步数的随机整数
2.1.6 choice(seq)
描述
从序列类型,例如列表中随机返回一个元素(序列类型包括列表、元组和字符串)
语法
choice(seq)
参数
seq--代表所被选取的序列类型
返回值
一个被选序列类型中的一个元素
特别注意
与后文讲到的sample(pop,k)区分,被choice选取后该元素不会在该序列类型中删除,通俗点讲(讲人话)就是,选取的几个随机数是有可能相同的
2.1.7 shuffle(seq)
描述
将序列类型中的元素随机排列,返回打乱后的序列
语法
shuffle(seq)
参数
seq--代表所被选取的序列类型
返回值
打乱后的序列
2.1.8 sample(pop,k)
描述
从pop类型中随机选取k个元素,以列表类型返回
语法
sample(pop,k)
参数
pop--所给定的序列类型
k--一个整数,表示选取的元素个数
返回值
选取的k个元素构成的列表(注意:已经pop的元素不会在被pop,有点类似栈)

浙公网安备 33010602011771号