1 # 作業題目: 編寫登陸認證程序 2 # 作業需求: 3 # 基礎需求: 4 # 讓用戶輸入用戶名密碼 5 # 認證成功后顯示歡迎信息 6 # 輸錯三次后退出程序 7 # 8 # 升級需求: 9 # 可以支持多個用戶登錄 (提示,通過列表存多個賬戶信息) 10 # 用戶3次認證失敗后,退出程序,再次啟動程序嘗試登錄時,還是鎖定狀態(提示:需把用戶鎖定的狀態存到文件里) 11 12 #需要優化的點和不足的地方: 13 #1.當輸入的用戶名不在列表中的操作 14 #2.根據需求寫到哪是哪,沒有一個清晰地思路,代碼會有很多bug,還有許多未知的需要完善的地方,就是一個字:low 15 16 #low版本: 17 18 user= [['mm','123'],['tt','456'],['MM','789']] 19 count = 0 20 error_count = 0 #錯誤輸入計數初始化 21 22 while count < 3: 23 user_name = input("請輸入用戶名:").strip() #strip()去除空格 24 pass_word = input("請輸入密碼:").strip() 25 26 f = open(file = "用戶登錄狀態文件.txt",mode ='r',encoding="utf-8") 27 data = f.read() 28 if user_name in data: #判斷該用戶是否被鎖定 29 print("對不起!用戶%s被鎖定!請使用其他用戶名登錄!" % user_name) 30 else: 31 for i,v in enumerate(user): 32 if user_name == v[0] and pass_word == v[1]: 33 print("歡迎登錄!") 34 # count = 3 35 exit() #直接退出程序 36 else: 37 f = open(file = "用戶登錄狀態文件.txt",mode ='a+',encoding="utf-8") 38 error_count += 1 39 if error_count == 9: #每次for循環3次 40 f.write("%s狀態:鎖定" % user_name) 41 print("您的用戶名密碼輸入有誤!") 42 count += 1 43 f.close()
測試結果如下: