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

相关文章

配置 Pycharm 默认 Test runner 的图文教程

配置 Pycharm 默认 Test runner 的图文教程

如下所示: 由图中可见,当前使用的是 unittest 测试框架 修改方式如下: 以上这篇配置 Pycharm 默认 Test runner 的图文教程就是小编分享给大家的全部...

pytest中文文档之编写断言

编写断言 使用assert编写断言 pytest允许你使用python标准的assert表达式写断言; 例如,你可以这样做: # test_sample.py def func...

python rsa 加密解密

最近有需求,需要研究一下RSA加密解密安全;在网上百度了一下例子文章,很少有文章介绍怎么保存、传输、打印加密后的文本信息,都是千篇一律的。直接在一个脚本,加密后的文本信息赋于变量,然后立...

在Python的Flask中使用WTForms表单框架的基础教程

在Python的Flask中使用WTForms表单框架的基础教程

下载和安装 安装 WTForms 最简单的方式是使用 easy_install 和 pip: easy_install WTForms # or pip install WTForm...

Python生成器generator用法示例

Python生成器generator用法示例

本文实例分析了Python生成器generator用法。分享给大家供大家参考,具体如下: 生成器generator本质是一个函数,它记住上一次在函数体中的位置,在生成器函数下一次调用,会...