Python随机生成一个6位的验证码代码分享

yipeiwu_com6年前Python基础

1. 生成源码

复制代码 代码如下:

# -*- coding: utf-8 -*-

import random

def generate_verification_code():
    ''' 随机生成6位的验证码 '''
    code_list = []
    for i in range(10): # 0-9数字
        code_list.append(str(i))
    for i in range(65, 91): # A-Z
        code_list.append(chr(i))
    for i in range(97, 123): # a-z
        code_list.append(chr(i))

    myslice = random.sample(code_list, 6)  # 从list中随机获取6个元素,作为一个片断返回
    verification_code = ''.join(myslice) # list to string
    # print code_list
    # print type(myslice)
    return verification_code

def generate_verification_code2():
    ''' 随机生成6位的验证码 '''
    code_list = []
    for i in range(2):
        random_num = random.randint(0, 9) # 随机生成0-9的数字
        # 利用random.randint()函数生成一个随机整数a,使得65<=a<=90
        # 对应从“A”到“Z”的ASCII码
        a = random.randint(65, 90)
        b = random.randint(97, 122)
        random_uppercase_letter = chr(a)
        random_lowercase_letter = chr(b)

        code_list.append(str(random_num))
        code_list.append(random_uppercase_letter)
        code_list.append(random_lowercase_letter)
    verification_code = ''.join(code_list)
    return verification_code

if __name__ == '__main__':
    code = generate_verification_code()
    code2 = generate_verification_code2()
    print code
    print code2

其中的一个生成结果如下:

复制代码 代码如下:

gF5UzK
2Cb1Aa

相关文章

python多进程重复加载的解决方式

flask多进程会引起重复加载, 解决方法:把耗资源的加载挪到函数里面或者类里面,就不会重复加载资源了。 测试发现,不是flask引起的,是多进程会引起重复加载python文件。 把fl...

matplotlib 输出保存指定尺寸的图片方法

其实这个问题来源于笔者的横坐标太多了,然后生成的那个figure框框太小,导致坐标重叠,而输出的图片是需要批量保存的,总不能每次都拉长截图吧 所以在plot绘图之前加上了一句 plt...

python 调试冷知识(小结)

python 调试冷知识(小结)

对于 python 代码的调试我们通常都是使用 IDE 自带的调试功能。但是 IDE 提供的调试功能存在局限性,例如在测试服务器上调试代码,但是又不可能在测试服务器上安装 IDE 进行调...

python异常触发及自定义异常类解析

python程序运行中,可由程序抛出异常。 异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继承Exception类)。 class...

对pandas的层次索引与取值的新方法详解

对pandas的层次索引与取值的新方法详解

1、层次索引 1.1 定义 在某一个方向拥有多个(两个及两个以上)索引级别,就叫做层次索引。 通过层次化索引,pandas能够以较低维度形式处理高纬度的数据 通过层次化索引,可以按照层次...