Python隨機生成驗證碼的兩種方法

2021-08-03 16:14:29 字數 4090 閱讀 2736

python隨機生成驗證碼的方法有很多,今天給大家列舉兩種,大家也可以在這個基礎上進行改造,設計出適合自己的驗證碼方法

利用range方法,對於range方法不清楚的同學,請參考文章《python開發的range()函式》

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

# -*- coding: utf-8 -*-

importrandom

defgenerate_verification_code(len=6):

''' 隨機生成6位的驗證碼 '''

# 注意: 這裡我們生成的是0-9a-za-z的列表,當然你也可以指定這個list,這裡很靈活

# 比如: code_list = ['p','y','t','h','o','n','t','a','b'] # pythontab的字母

code_list=

foriinrange(10):# 0-9數字

str(i))

foriinrange(65,91):# 對應從「a」到「z」的ascii碼

chr(i))

foriinrange(97,123):#對應從「a」到「z」的ascii碼

chr(i))

myslice=random.sample(code_list,len)# 從list中隨機獲取6個元素,作為乙個片斷返回

verification_code=''.join(myslice)# list to string

returnverification_code

利用randint方法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

# -*- coding: utf-8 -*-

importrandom

defgenerate_verification_code_v2():

''' 隨機生成6位的驗證碼 '''

code_list=

foriinrange(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)

str(random_num))

verification_code=''.join(code_list)

returnverification_code

1

2

3

4

code=generate_verification_code(6)

code2=generate_verification_code_v2()

printcode

printcode2

輸出結果:

1

2

glc5tr

hr6t7b

我個人更傾向於第一種方法,更加靈活,可以隨意設定驗證碼長度。

文章**:

python 隨機生成驗證碼

首先隨機的生成數字或者字母肯定需要的是random模組。random是隨機數生成器。import random print random.random print random.randint 1,10 print random.randrange 1,11 以上的是最常見的隨機數生成方法,看看列印...

python隨機生成驗證碼

需要匯入pillow模組 from random import choice,randint from pil import image,imagedraw,imagefont,imagefilter class verifycode object 生成驗證碼模組 def init self,len...

驗證碼隨機生成

pip install captcha驗證碼隨機生成 python 版本 3.6 captcha 版本 0.3 from captcha.image import imagecaptcha import numpy as np import matplotlib.pyplot as plt from...