1. 程式人生 > >python之編寫登陸接口(第一天)

python之編寫登陸接口(第一天)

splay readlines 裏的 split 不存在 file mage AI else

作業:編寫登陸接口

  • 輸入用戶名密碼
  • 認證成功後顯示歡迎信息
  • 輸錯三次後鎖定

帳號文件account.txt內容如下:


sam 123

david 12
kevin 123
lin 12
tailen 123
jack 12


鎖文件account_lock.txt默認為空

1、流程圖如下:

技術分享圖片

二、針對帳號文件裏的不存在的用戶也可以進行判斷並鎖定,針對用戶和密碼共有三次錯誤重試機會

技術分享圖片
 1 #_*_ coding:utf-8 _*_
 2 
 3 import sys,os,getpass
 4 
 5 os.system(clear)
 6 
 7 retry_limit = 3
 8
retry_count = 0 9 10 account_file = account.txt 11 lock_file = account_lock.txt 12 13 while retry_count < retry_limit: #只要重試不超過3次就不斷循環 14 username = raw_input(\033[31;43mUsername:\033[0m) 15 username = username.strip() 16 lock_check = open(lock_file) #
當用戶輸入用戶名後,打開LOCK 文件 以檢查是否此用戶已經LOCK了 17 18 for line in lock_check.readlines(): #循環LOCK文件 19 if username == line.strip(\n): #去掉換行符 20 sys.exit(\033[35mUser %s is locked!!!\033[0m % username) #如果LOCK了就直接退出 21 password = raw_input(
\033[32;41mPassword:\033[0m) #輸入密碼 22 23 f = open(account_file,r) #打開帳號文件 24 match_flag = False # 默認為Flase,如果用戶match 上了,就設置為 True 25 26 for line in f.readlines(): 27 user,passwd = line.strip(\n).split() #去掉每行多余的\n並把這一行按空格分成兩列,分別賦值為user,passwd兩個變量 28 if username == user and password == passwd: #判斷用戶名和密碼是否都相等 29 print(hello, %s !! % username) 30 match_flag = True #相等就把循環外的match_flag變量改為了True 31 break #然後就不用繼續循環了,直接 跳出,因為已經match上了 32 f.close() 33 34 if match_flag == False: #如果match_flag還為False,代表上面的循環中跟本就沒有match上用戶名和密碼,所以需要繼續循環 35 print(sorry,%s is unmatched % username) 36 retry_count += 1 #計數器加1 37 else: 38 print(wlecome login my learning system!) 39 break #用戶成功登錄,退出腳本 40 41 else: 42 print("you account %s is locked!!!" % username) 43 g = open(lock_file,a) 44 g.write(username) #被鎖用戶追加到用戶鎖文件 45 g.write(\n) 46 g.close()
View Code

python之編寫登陸接口(第一天)