专栏首页程序员的知识天地Python实现随机生成验证码?小菜一碟!

Python实现随机生成验证码?小菜一碟!

Python随机生成验证码的方法有很多,今天给大家列举两种,大家也可以在这个基础上进行改造,设计出适合自己的验证码方法

方法一:

利用range方法,对于range方法不清楚的同学,请参考文章《python开发的range()函数》

# -*- coding: utf-8 -*-
import random
def generate_verification_code(len=6):
    ''' 随机生成6位的验证码 '''
    # 注意: 这里我们生成的是0-9A-Za-z的列表,当然你也可以指定这个list,这里很灵活
    # 比如: code_list = ['P','y','t','h','o','n','T','a','b'] # PythonTab的字母
    code_list = [] 
    for i in range(10): # 0-9数字
        code_list.append(str(i))
    for i in range(65, 91): # 对应从“A”到“Z”的ASCII码
        code_list.append(chr(i))
    for i in range(97, 123): #对应从“a”到“z”的ASCII码
        code_list.append(chr(i))
    myslice = random.sample(code_list, len)  # 从list中随机获取6个元素,作为一个片断返回
    verification_code = ''.join(myslice) # list to string
    return verification_code

方法二:

利用randint方法

# -*- coding: utf-8 -*-
import random
def generate_verification_code_v2():
    ''' 随机生成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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 弄懂这56个Python使用技巧,秒变Python大神!

    你也许知道如何进行列表解析,但是可能不知道字典/集合解析。它们简单易用且高效。就像下面这个例子:

    一墨编程学习
  • python基础教程:list(列表)

    Python的基本数据类型有整数,浮点数,布尔,字符串,它们是最基本的数据。在实际编程中,我们要经常组织由很多基本数据组成的集合,这些集合的不同组织方式就是:数...

    一墨编程学习
  • Python3内置模块之玩出花儿的random随机方法小结

    random是Python中与随机数相关的模块,其本质就是一个伪随机数生成器,我们可以利用random模块基础生成各种不同的随机数,以及一些基于随机数的操作。

    一墨编程学习
  • JavaSE(八)集合之List

    前面一篇的corejava讲的是集合的概述,这一篇我将详细的和大家讲解一下Collection下面的List、set、queue这三个子接口。希望大家能得到提升...

    用户1195962
  • 安全公司Carbon Black客户数据泄漏:多家财富1000强企业TB级别隐私数据流出

    8 月 9 日,安全公司 Carbon Black 被控泄露 TB 级别其客户企业的机密数据。泄露的数据来自多家财富 1000 企业,数据内容包括了用户机密数据...

    FB客服
  • java_Scanner类、Random类、ArrayList 类的使用

    一个可以解析基本类型和字符串的简单文本扫描器。 例如,以下代码使用户能够从 System.in 中读取一个数:

    咕咕星
  • python: index 内建函数

    JNingWei
  • 访问google

    github搜索hosts,如:https://github.com/racaljk/hosts/blob/master/hosts 更新windows hos...

    后端云
  • TextCNN的PyTorch实现

    本文主要介绍一篇将CNN应用到NLP领域的一篇论文 Convolutional Neural Networks for Sentence Classificat...

    mathor
  • 如何搭建Hadoop伪分布式集群?

    如何搭建Hadoop伪分布式集群,本文将详细介绍。

    挖掘大数据

扫码关注云+社区

领取腾讯云代金券