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

yipeiwu_com7年前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

相关文章

Django中在xadmin中集成DjangoUeditor过程详解

Django中在xadmin中集成DjangoUeditor过程详解

环境 python版本:3.6 django:1.10.8 1.下载xadmin https://github.com/sshwsfc/xadmin 下载DjangoUeditor ht...

Python实现一个简单的MySQL类

本文实例讲述了Python实现一个简单的MySQL类。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下:#!/usr/bin/env python # -*- coding...

Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程

我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写alter sql脚本处理,经常会发现遗漏,导致程序发布到服务器上后无法正常使用。 现在我们可以使用...

Python使用Phantomjs截屏网页的方法

实例如下所示: #!/usr/bin/python # -*- coding:utf8 -*- from selenium import webdriver import os d...

python实现基于两张图片生成圆角图标效果的方法

本文实例讲述了python实现基于两张图片生成圆角图标效果的方法。分享给大家供大家参考。具体分析如下: 使用pil的蒙版功能,将原图片和圆角图片进行叠加,并将圆角图片作为mask,生成新...