主要實現功能
1、用戶輸入用戶名,在用戶名文件中查找對應的用戶,若無對應用戶名則打印輸入錯誤
2、用戶名輸入正確后,進行密碼匹配。輸入密碼正確則登錄成功,否則重新輸入。
3、連續輸錯三次密碼則該用戶名被鎖,退出程序
--------------------------------------------------
在程序文件夾下建立一個用戶名、密碼的文件 :user_np.txt和一個用于存放被鎖用戶名的文件:lock.txt
--------------------------------------------------
#setencoding=utf-8import os,sys#將用戶名文件內容讀取到內存中user = open('user_np.txt')account_list = user.readlines()user.closeloginSucess = 0 #控制while循環退出lock_n = False #判斷用戶輸入的用戶名是否被鎖的標志位while True: username = input('please input username:').strip() #strip()函數是忽略空格 if len(username) == 0: print('輸入用戶名不能為空') continue else : print('輸入用戶名不為空') l = open('lock.txt') l_list = l.readlines() l.close() print(l_list) for j in l_list: j = j.strip('/n') if username == j: print('該用戶已經鎖定,請輸入其他用戶名') lock_n = True del j #刪除變量j break else: continue if lock_n is True: lock_n = False continue else: lock_n = False for i in account_list: i = i.split() #split()函數是對括號中的符號進行切割 if username == i[0]: for x in range(3): password = input('please input password:').strip() if password == i[1]: loginSucess = 2 break else: print('The password is error') #匹配正確或者遇到break程序就跳出循環體下面語句不執行 else: #輸入超過三次,將用戶名寫入鎖文件并打印出來 print('%s ,input password is beyond three times,going to lock'%username) l = open('lock.txt','a') l.write(username+'/n') #將要鎖的用戶名寫入鎖文件并且換行 l.close() view = open('lock.txt') #打開鎖文件 print(view.read()) #打印鎖文件的內容,方便自己做調試 loginSucess = 1 if loginSucess ==2: print('sucess info') break elif loginSucess ==1: print('用戶名被鎖,請重新輸入') else: print('輸入錯誤')
新聞熱點
疑難解答