需求 編寫登錄接口 讓用戶輸入用戶名密碼 認證成功後顯示歡迎信息 輸錯三次後退出程序 能夠支持多個用戶登陸 用戶3次認證失敗後,退出程序,再次啓動程序嘗試登陸時,仍是鎖定狀態
測試信息 用戶 密碼 alex 123 egon 456 鎖定用戶 密碼 lyndon 789
流程圖:python
腳本實現:ide
#!/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