欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python生成隨機(jī)驗(yàn)證碼的兩種方法

系統(tǒng) 1613 0

使用python生成隨機(jī)驗(yàn)證碼的方法有很多種,今天小編給大家分享兩種方法,大家可以靈活運(yùn)用這兩種方法,設(shè)計(jì)出適合自己的驗(yàn)證碼方法。

方法一:

利用range方法,對(duì)于range方法不清楚的同學(xué),請(qǐng)參考文章《python開(kāi)發(fā)的range()函數(shù)》

            
# -*- coding: utf-8 -*-
import random
def generate_verification_code(len=6):
 ''' 隨機(jī)生成6位的驗(yàn)證碼 '''
 # 注意: 這里我們生成的是0-9A-Za-z的列表,當(dāng)然你也可以指定這個(gè)list,這里很靈活
 # 比如: code_list = ['P','y','t','h','o','n','T','a','b'] # PythonTab的字母
 code_list = [] 
 for i in range(10): # 0-9數(shù)字
  code_list.append(str(i))
 for i in range(65, 91): # 對(duì)應(yīng)從“A”到“Z”的ASCII碼
  code_list.append(chr(i))
 for i in range(97, 123): #對(duì)應(yīng)從“a”到“z”的ASCII碼
  code_list.append(chr(i))
 myslice = random.sample(code_list, len) # 從list中隨機(jī)獲取6個(gè)元素,作為一個(gè)片斷返回
 verification_code = ''.join(myslice) # list to string
 return verification_code
          

方法二:

利用randint方法

            
# -*- coding: utf-8 -*-
import random
def generate_verification_code_v2():
 ''' 隨機(jī)生成6位的驗(yàn)證碼 '''
 code_list = []
 for i in range(2):
  random_num = random.randint(0, 9) # 隨機(jī)生成0-9的數(shù)字
  # 利用random.randint()函數(shù)生成一個(gè)隨機(jī)整數(shù)a,使得65<=a<=90
  # 對(duì)應(yīng)從“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
          

測(cè)試:

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

輸出結(jié)果:

Glc5Tr
Hr6t7B

我個(gè)人更傾向于第一種方法,更加靈活,可以隨意設(shè)置驗(yàn)證碼長(zhǎng)度。

Python 隨機(jī)生成中文驗(yàn)證碼

            
# -*- coding: utf-8 -*- 
import Image,ImageDraw,ImageFont 
import random 
import math, string 
class RandomChar(): 
 """用于隨機(jī)生成漢字""" 
 @staticmethod 
 def Unicode(): 
 val = random.randint(0x4E00, 0x9FBF) 
 return unichr(val) 
 @staticmethod 
 def GB2312(): 
 head = random.randint(0xB0, 0xCF) 
 body = random.randint(0xA, 0xF) 
 tail = random.randint(0, 0xF) 
 val = ( head << 8 ) | (body << 4) | tail 
 str = "%x" % val 
 return str.decode('hex').decode('gb2312') 
class ImageChar(): 
 def __init__(self, fontColor = (0, 0, 0), 
      size = (100, 40), 
      fontPath = 'wqy.ttc', 
      bgColor = (255, 255, 255), 
      fontSize = 20): 
 self.size = size 
 self.fontPath = fontPath 
 self.bgColor = bgColor 
 self.fontSize = fontSize 
 self.fontColor = fontColor 
 self.font = ImageFont.truetype(self.fontPath, self.fontSize) 
 self.image = Image.new('RGB', size, bgColor) 
 def rotate(self): 
 self.image.rotate(random.randint(0, 30), expand=0) 
 def drawText(self, pos, txt, fill): 
 draw = ImageDraw.Draw(self.image) 
 draw.text(pos, txt, font=self.font, fill=fill) 
 del draw 
 def randRGB(self): 
 return (random.randint(0, 255), 
   random.randint(0, 255), 
   random.randint(0, 255)) 
 def randPoint(self): 
 (width, height) = self.size 
 return (random.randint(0, width), random.randint(0, height)) 
 def randLine(self, num): 
 draw = ImageDraw.Draw(self.image) 
 for i in range(0, num): 
  draw.line([self.randPoint(), self.randPoint()], self.randRGB()) 
 del draw 
 def randChinese(self, num): 
 gap = 5 
 start = 0 
 for i in range(0, num): 
  char = RandomChar().GB2312() 
  x = start + self.fontSize * i + random.randint(0, gap) + gap * i 
  self.drawText((x, random.randint(-5, 5)), RandomChar().GB2312(), self.randRGB()) 
  self.rotate() 
 self.randLine(18) 
 def save(self, path): 
 self.image.save(path) 
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 福利国产在线 | 欧洲在线观看 | 久久福利青草精品免费 | 欧美精品一区二区三区在线 | 97超碰免费 | 亚洲自拍色 | 久草2| 狠狠操夜夜操 | 美女扒开胸罩给男生看视频 | 久草免费在线 | 亚洲区第一页 | 久久激情五月丁香伊人 | av免费在线观看国产 | 日韩在线观看毛片 | 第四色播日韩AV第一页 | 亚洲欧美电影 | 色综合久久综合欧美综合图片 | 国产精品二区三区 | 在线欧美日韩 | 亚洲国产香蕉视频欧美 | 精品国产污污免费网站 | 亚洲国产精品久久网午夜 | 日产精品卡二卡三卡四卡乱码视频 | 国产成人羞羞视频在线 | 91免费在线视频 | 欧洲成人午夜免费大片 | 久久久久久免费视频 | 天堂在线www网亚洲 欧美 日韩 | 亚洲一区久欠无码A片 | 特级毛片s级全部免费 | 一级片在线免费观看视频 | 亚洲一区二区在线播放 | 日本久久久久久久 | 最近免费日本视频在线 | 香蕉视频在线播放 | 日韩欧美在线免费观看视频 | 美国一级免费视频 | 日韩欧美在线免费观看视频 | 青娱乐手机免费视频 | 国产成人免费高清激情视频 | 国产成人在线影院 |