[Python3]编写简单的登陆认证程序
生活随笔
收集整理的這篇文章主要介紹了
[Python3]编写简单的登陆认证程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求:
? ? 1.讓用戶輸入用戶名密碼
? ? 2.認證成功后顯示歡迎信息
? ? 3.輸錯三次后退出程序
? ? 升級需求:
? ? 1.可以支持多用戶登錄(通過列表存多個賬戶信息)
? ? 2.用戶3次認證失敗后,退出程序,再次啟動程序嘗試登錄時,還是鎖定狀態,需把用戶鎖定的狀態存到文件里。
以下是我寫的答案,感覺有些麻煩,不過功能都實現了。僅供參考^^
運行程序需要在根目錄創建locked.txt來存儲鎖定用戶信息。
# _author_:wyq # _date_:2018/7/9 user_list = [['wyq', '123', 0],['xf', '123', 0],['alex', '123', 0]] lock_list = [] f = open('locked.txt', 'r') for l in f.readlines():lock_list.append(l.strip()) f.close() while True:username = input("請輸入用戶名:")passwd = input("請輸入密碼:")if username not in [user[0] for user in user_list]: # 判斷用戶名是否在用戶列表內print("沒有名為%s的用戶,請重新輸入。" % username)else:if username in lock_list: # 判斷用戶名是否在已鎖定用戶列表內print("用戶%s已經被鎖定,請更換用戶登錄!" % username)continuefor user in user_list:if username == user[0] and passwd == user[1]: # 用戶名密碼正確,登錄成功print("恭喜%s登錄成功!" % username)exit()elif username == user[0] and passwd != user[1]: # 用戶名密碼錯誤,提示登錄用戶剩余登錄次數print("用戶%s的密碼錯誤,剩余輸入次數%d次。" % (username, 2 - user[2]))user[2] += 1if user[2] == 3: # 某用戶登錄錯誤三次,把用戶名加入鎖定用戶列表并退出f = open('locked.txt', 'a')f.write('%s\n' % user[0])f.close()print("您的賬號已鎖定!")exit()總結
以上是生活随笔為你收集整理的[Python3]编写简单的登陆认证程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: panda读取excel文件内容时出错,
- 下一篇: Java后台生成二维码