Maison  >  Article  >  développement back-end  >  Deux façons de générer aléatoirement des codes de vérification à l'aide de Python

Deux façons de générer aléatoirement des codes de vérification à l'aide de Python

高洛峰
高洛峰original
2017-03-16 17:18:562359parcourir

Il existe de nombreuses façons de générer des codes de vérification de manière aléatoire en Python. Aujourd'hui, j'en énumérerai deux pour vous. Vous pouvez également le modifier sur cette base et concevoir une méthode de code de vérification qui vous convient

Méthode 1 :

Utilisez la méthode range. Pour les étudiants qui ne connaissent pas bien la méthode range, veuillez vous référer à l'article "Fonction range() développée en python"

# -*- 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

Méthode 2 :

Utilisez la méthode 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 = &#39;&#39;.join(code_list)
    return verification_code

Test :

code = generate_verification_code(6)
code2 = generate_verification_code_v2()
print code
print code2

Résultat de sortie :

Glc5Tr
Hr6t7B

Je préfère personnellement la première méthode, qui est plus flexible et peut définir la longueur du code de vérification à volonté.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn