【python练习】生成不连续范围的随机数以及生成随机验证码

   今天做练习的时候碰到这样一个需求:生成随机的5位验证码,以及后续的输入验证,相对后面的验证比较简单,就不赘述了。要求验证码由数字、字母组成,位置不固定。

思路:
1.由ascii码转换成数字和字母,用到chr()方法
2.数字的ascii码范围是48-57,大写字母是65-90,小写字母是97-122
3.用随机函数random生成的范围是单个的,所以考虑用2个随机函数嵌套,第一层生成1-3三个数字,对应3个范围,用if判断,第二层对应相应的验证码,这样就可以实现了
4.生成空列表,将随机数放进去,完成后用join连接字符串返回
如果有更好的思路,求大神指导,代码如下:

import random
def code():
    num=1
    code_num=[]
    while num <6:
        num_ran = random.randint(1, 3)
        if num_ran == 1:
            a1=chr(random.randint(48,51))
        elif num_ran == 2:
            a1 = chr(random.randint(65, 90))
        else:
            a1 = chr(random.randint(97, 122))
        code_num.append(a1)
        num+=1
    return ''.join(code_num)
发布了13 篇原创文章 · 获赞 1 · 访问量 194

猜你喜欢

转载自blog.csdn.net/aa12551827/article/details/104710132