用Python編寫登錄接口
阿新 • • 發佈:2018-09-26
pri get [] font lock 註冊 class gis div
登陸接口要求:
- 輸入用戶名和密碼
- 認證成功後顯示歡迎信息
- 輸錯三次後鎖定
代碼:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:James Tao 4 5 import pickle 6 import os 7 8 #註冊 9 register={‘tz‘:‘1234‘,‘t‘:‘123‘,‘tza‘:‘12345abc‘} 10 locked_account=[] 11 12 #也可由用戶輸入註冊賬號 13 #register_username=input(‘newusername:‘) 14 #register_passord=input(‘newpassword:‘) 15 #print(‘註冊成功‘) 16 #register[register_username]=register_passord 17 18 #用pickle把已註冊的賬號字典序列化寫到文件中 19 w_register=open(‘register.txt‘,‘wb‘) 20 pickle.dump(register,w_register) 21 w_register.close() 22 23 #登陸 24 count=0 25 while count<3: 26 print(‘請登錄‘) 27username=input(‘username:‘) 28 password=input(‘password:‘) 29 30 #若被鎖定賬號文件不為空,讀出已鎖定的賬號 31 if os.path.getsize(‘lockedaccount.txt‘) > 0: 32 33 #用pickle把被鎖定賬號從文件中反序列化讀出來 34 r_lockedaccount=open(‘lockedaccount.txt‘, ‘rb‘) 35 locked_account=pickle.load(r_lockedaccount)36 r_lockedaccount.close() 37 38 #判斷輸入的賬號是否已被鎖定,若賬號已被鎖定則直接跳出所有循環 39 judge_of_locked=False 40 for locked_name in locked_account: 41 if username==locked_name: 42 print(‘The account has been locked‘) 43 judge_of_locked = True 44 break 45 if judge_of_locked: 46 break 47 48 #用pickle把已註冊的賬號字典反序列化讀出來 49 r_register=open(‘register.txt‘,‘rb‘) 50 login=pickle.load(r_register) 51 r_register.close() 52 53 #判斷輸入的賬號是否存在密碼是否正確 54 if username in login and password==login[username]: 55 print(‘Welcome‘) 56 break 57 else: 58 print(‘Non-existed username or password error‘) 59 count+=1 60 61 #若賬號和密碼輸錯三次賬號會被鎖定 62 else: 63 print(‘You have tried too many times,The account has been locked‘) 64 65 #插入被鎖定賬號的用戶名 66 locked_account.append(username) 67 68 #用pickle把被鎖定賬號的列表序列化寫到文件中 69 w_lockedaccount = open(‘lockedaccount.txt‘, ‘wb‘) 70 pickle.dump(locked_account,w_lockedaccount) 71 w_lockedaccount.close()
用Python編寫登錄接口