用戶三次登錄鎖定
阿新 • • 發佈:2017-07-14
python腳本
需求 編寫登陸接口 讓用戶輸入用戶名密碼 認證成功後顯示歡迎信息 輸錯三次後退出程序 可以支持多個用戶登錄 用戶3次認證失敗後,退出程序,再次啟動程序嘗試登錄時,還是鎖定狀態
測試信息 用戶 密碼 alex 123 egon 456 鎖定用戶 密碼 lyndon 789
流程圖:
腳本實現:
#!/bin/env python # -*- coding:utf-8 -*- # 用字典定義用戶名和密碼 db={‘egon‘:‘123‘,‘alex‘:‘456‘,‘lyndon‘:‘789‘} """ 需要先創建文件user_list a、a+ 能創建文件,但不能按行讀取文件內容 w、w+ 能創建文件,但每次執行會清空文件內容 r、r+ 能按行讀取文件內容,但不能創建不存在的文件 只能手動創建了,心累。。。 """ # 按行讀取user_list內容,以列表形式賦值給lock_list f=open(‘user_list‘,‘r‘) lock_list=f.readlines() lock_list=lock_list.__str__() f.close() while True: print (""" ========================== 【E】 登錄 【Q】 退出 ========================== """) choice=input (‘請輸入你的選擇:‘) if choice.lower() == ‘q‘: break elif choice.lower() != ‘q‘ and choice.lower() != ‘e‘: print (‘輸入錯誤,請重新輸入‘) if choice.lower() == ‘e‘: username=input (‘請輸入用戶名:‘) if username not in db: print (‘沒有此用戶!‘) continue elif username in lock_list: print (‘該用戶已鎖定,請聯系管理員解鎖!‘) continue else: for i in range(3): passwd=input (‘請輸入密碼:‘) if passwd != db.get(username): print (‘密碼錯誤!‘) if i == 2: f = open(‘user_list‘,‘a‘) f.writelines(‘%s\n‘%username) f.close() print (‘密碼錯誤三次,用戶已鎖定!‘) exit() else: print (‘登陸成功!‘) break
本文出自 “lyndon” 博客,請務必保留此出處http://lyndon.blog.51cto.com/11474010/1947417
用戶三次登錄鎖定