【Python】用戶登錄三次鎖定


需求說明:

  用戶登錄,對密碼進行三次校驗,三次均失敗后,將鎖定用戶名,不允許登錄。

解決方案:

  1、明確可成功登錄的用戶名和密碼;

  2、用戶黑名單,三次登錄失敗后,將用戶名寫入黑名單;

  3、檢測黑名單的內容,如果與當前登錄名一致,則不允許繼續輸入密碼,直接提示用戶已鎖定。

代碼實現:

 1 # -*- coding:utf-8 -*-
 2 
 3 #登錄三次鎖定用戶
 4 
 5 #用於計數(循環三次的判斷)
 6 count = 0
 7 
 8 #真實用戶名和密碼
 9 real_username = "iamxxx"
10 real_password = "123qwe"
11 
12 #讀取黑名單的內容
13 f = open('black_user','r')
14 lock_file = f.read()
15 f.close()
16 
17 username = raw_input("請輸入用戶名:")
18 
19 #判斷輸入的用戶名是否在黑名單內,如果在則不允許繼續輸入密碼
20 for i in range(1):
21     if lock_file == username:
22         print("對不起,您的用戶名已鎖定,暫時不允許使用!")
23         exit()
24     else:
25         continue
26 
27 #嘗試輸入密碼,並將輸入次數進行計數
28 for i in range(3):
29     password = raw_input("請輸入密碼:")
30     if password == real_password:
31         print "登錄成功!"
32         break
33     else:
34         print("登錄失敗...")
35     count += 1
36 
37 #如果錯誤密碼輸入了三次,則提示用戶名鎖定,並將用戶名放入黑名單中
38 if count == 3:
39     print("對不起,您輸入的密碼錯誤次數已達3次,將鎖定您的賬戶!")
40     f = open('black_user','w')
41     f.write('%s'%username)
42     f.close()

執行結果:

場景1:輸入正確
請輸入用戶名:iamxxx
請輸入密碼:123qwe
登錄成功!

場景2:輸入錯誤3次
請輸入用戶名:iamxxx
請輸入密碼:1
登錄失敗...
請輸入密碼:1
登錄失敗...
請輸入密碼:1
登錄失敗...
對不起,您輸入的密碼錯誤次數已達3次,將鎖定您的賬戶!

再次執行:
請輸入用戶名:iamxxx
對不起,您的用戶名已鎖定,暫時不允許使用!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM