Heim >Backend-Entwicklung >Python-Tutorial >Zwei Möglichkeiten, Bestätigungscodes in Python zufällig zu generieren

Zwei Möglichkeiten, Bestätigungscodes in Python zufällig zu generieren

高洛峰
高洛峰Original
2016-10-17 13:20:031197Durchsuche

Es gibt viele Möglichkeiten, Bestätigungscodes in Python zu generieren. Heute werde ich zwei für Sie auflisten. Sie können es auch auf dieser Basis ändern und eine Bestätigungscode-Methode entwerfen, die zu Ihnen passt

Methode 1:

Verwenden Sie die Range-Methode. Für Schüler, die sich über die Range-Methode nicht im Klaren sind, lesen Sie bitte den Artikel „Range()-Funktion entwickelt in 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

Methode 2:

利用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

Ausgabeergebnis:

Glc5Tr
Hr6t7B

Ich persönlich bevorzuge die erste Methode, die flexibler ist und die Länge des Bestätigungscodes nach Belieben festlegen kann.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn