Génération aléatoire de codes de vérification

巴扎黑
Libérer: 2017-07-17 15:59:45
original
1667 Les gens l'ont consulté

1. À l'aide de la liste

import random

def random_code():
    random_list = []for i in range(4):
        ra = random.randrange(4)if ra == i:
            random_list.append(chr(random.randrange(97,122)))else:
            random_list.append(str(random.randrange(0,9)))
    code = "".join(random_list)return code

result = random_code()
print(result)
Copier après la connexion

Le code ci-dessus réalise la fonction de vérification aléatoire code, mais il ne peut générer qu'un code de vérification aléatoire contenant des lettres minuscules ; et nous utilisons également une liste pour le compléter. L'épissage des chaînes plus la liste et la méthode string jion() génèrent un code de vérification aléatoire. Essayons également la méthode de génération de code de vérification en majuscules.

import random

def random_code():
    random_list = []for i in range(4):
        ra = random.randrange(4)if ra == i:
            random_list.append(chr(random.randrange(97,122)))
        elif ra > i:
            random_list.append(str(random.randrange(0,9)))else:
            random_list.append(chr(random.randrange(65,90)))
    code = "".join(random_list)return code

result = random_code()
print(result)
Copier après la connexion

Puisqu'il existe trois relations entre les données, supérieure, inférieure et égale à, en analysant chaque situation, trois types d'aléatoire peuvent être Code de vérification généré ; lorsqu'il est égal à, un code de vérification en minuscule est généré, lorsqu'il est supérieur à un nombre, un nombre est généré, lorsqu'il est inférieur à, un code de vérification en majuscule est généré, réalisant ainsi le code de vérification commun. formulaire que nous avons sur le site Web.

2. Épissage de chaînes

import random

def verification_code():
    code = ""for i in range(1,5):
        ra = random.randint(1,4)if ra == i:string = chr(random.randrange(97,122))
        elif ra > i:string = chr(random.randrange(65,90))else:string = str(random.randint(0,9))
        code += stringreturn code

result = verification_code()
print(result)
Copier après la connexion

Cette méthode consiste à utiliser des chaînes. Les codes de vérification aléatoires générés par l'épissage sont en fait essentiellement les mêmes. La première méthode est peut-être plus efficace, mais ils réalisent tous la fonction de codes de vérification aléatoires.

2. Méthode de génération du numéro de série de la facture

import datetime,time

def serial_number():
    serial = "{0}{1}".format(datetime.datetime.now().strftime("%Y%m%d%H%M%S"),str(int(time.time())))return serial

message = serial_number()
print(message)
Copier après la connexion

Le numéro de série de la facture est composé du module datetime et du module heure, car le numéro de série est le numéro de série horaire de l'achat à ce moment-là, et il ne sera jamais répété.

3. Utilisez la méthode de plage

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
Copier après la connexion


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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!