資訊管理系統的驗證碼模塊(python實作)
使用random.sample(s,k)方法
#驗證碼功能
import random
def codecheck():
s = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
while True:
rand_list = random.sample(s, 4) #隨機從0~9中匯入四個數字,存盤在rand_list里面(可以包含大小寫字母,改動主函式中串列S的元素即可)
str1 = [str(n) for n in rand_list] #將rand_list中的int型全部轉換為str型,并存盤在str1里面
#不能直接使用join方法將rand_list直接轉換合并為一個字串,原因略
code = ''.join(str1) #將str1中元素合并成一個字串
print('驗證碼:%s'%code)
input1 = input("請輸入驗證碼:")
if input1 == code: #比對兩個字串的內容
print("驗證成功")
break #成功,跳出
else:
print("驗證失敗")
PS:sample這個方法直接從串列里挑選指定個數的元素隨機輸出,個人認為比較方便,也可以在串列里添加大小寫字母,以及符號生成混合驗證碼,
PPS:可以直接在串列里把數字以字串型別存放,免去了上面代碼中將串列rand_list中元素放入串列str1并轉換為字串型別的步驟
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/152678.html
標籤:其他
上一篇:python風格代碼薈萃
下一篇:幾個有用的python字串函式(format,join,split,startwith,endwith,lower,upper)
