当前位置:首页 >> 脚本专栏

Python random模块制作简易的四位数验证码

先给大家介绍下python中random模块

random与numpy.random对比:

1、random.random():生成[0,1)之间的随机浮点数;

numpy.random.random():生成[0,1)之间的随机浮点数;

numpy.random.random(size=(2,2)),生产一个2维的随机数组,每维2个随机数,数据区间[0,1)

2、random.randint(a,b):生产[a,b]之间的随机整数;

numpy.random.random(1,5,5):返回一个一维数组,共计5个元素,数据区间为[1,5)

numpy.random.random(1,5,(2,2)):返回一个二维数组,每个维度2个随机数,数据区间[1,5)

3、random.randrange(1,10,2):返回[1,3,5,7,9]中随机数字

 4、random.choice(seq):从一个非空序列中返回一个序列的随机元素

numpy.random.choice(5,2)从[0,5)中随机产生包含2个随机整数的数组

5、random.uniform(a,b):随机生产浮点数x,[a,b]

6、random.randn(2,2):返回一个2维度随机数组,每个维度2个随机数

     random.rand()返回值符合标准正态分布,数据区间[0,1)

下面给大家介绍Python random模块四位数验证码功能的实例代码

代码如下所示:

import random  #调用随机模块
checkcode=''  #相当于创建了一个名为checkcode的空字符串
for i in range(4): #接下来的操作循环四次(最后生成一个4位数字的验证码)
  current=random.randrange(0,4)  #随机选取0,1,2,3中的一个数
  if current==i: #如果生成的随机数正好等于当前的数字位子
    tmp=chr(random.randint(65,90)) 
    '''那么随机生成一个65——90的整数,并且转化成ASCII码中的字符
    (chr(i)的意思是:i可以是10进制也可以是16进制的数字,
    返回值是当前整数对应的 ASCII 字符。)'''
  else:  #如果生成的随机数不等于当前数字位子
    tmp=random.randint(0,9) #返回一个0——9的整数
  checkcode+=str(tmp) 
  ''''checkcode=checkcode+str(tmp) ,
   将每一次生成的数字或者字母转换成字符串形式放入名为checkcode的字符串中'''
print(checkcode)  #将checkcode列表打印出来

总结

以上所述是小编给大家介绍的Python random模块制作简易的四位数验证码,希望对大家有所帮助!