Python學習之編寫登陸認證程序
阿新 • • 發佈:2018-04-11
inpu file 存儲 提示 用戶鎖定 通過 允許 odin 判斷
需求:
讓用戶輸入用戶名密碼 認證成功後顯示歡迎信息 輸錯三次後退出程序 可以支持多個用戶登錄 (提示,通過列表存多個賬戶信息) 用戶3次認證失敗後,退出程序,再次啟動程序嘗試登錄時,還是鎖定狀態(提示:需把用戶鎖定的狀態存到文件裏)
代碼如下:
1 # -*- coding: utf-8 -*- 2 # __date__ = 3/12/2018 3 4 count = 0 5 users = {‘chfang‘:‘12345‘, ‘alice‘:‘abcde‘, ‘admin‘:‘admin‘} #利用字典存儲多個用戶名/密碼 6 _name = input("Username:") 7 if _name in users: #判斷用戶輸入的用戶名是否在字典中 8 lock_file_name = _name + "_lock.txt" #根據用戶名讀取對應文件中的鎖定狀態碼(0表示允許登錄,1表示帳號被鎖定) 9 with open(lock_file_name, "r") as fp: 10 _lock = fp.read() 11 if _lock == "0": 12 while count < 3: 13 count += 1 14 _passwd = input("Password: ") 15 if _passwd == users.get(_name): #根據用戶名在從字典中取出其對應的密碼 16 print("登錄成功!歡迎%s" % _name) 17 with open(lock_file_name, "w") as f1: 18 f1.write("0") 19 break 20 else: 21 print("登錄失敗!剩余重試次數%d" % (3 - count)) 22 with open(lock_file_name, "w") as f1: 23 f1.write("1") 24 elif _lock == "1": 25 print("您的賬戶已被鎖定,請聯系管理員!") 26 else: 27 print("狀態文件不能為空,請聯系管理員!") 28 else: 29 print("用戶不存在!") 30 print("-----------------------------") #僅作結束提示用途
基礎功能均能實現。
Python學習之編寫登陸認證程序