我先說明下此程序的大概情況,就是輸入用戶名和密碼,輸錯三次后把賬戶添加到黑名單里,輸入正確的話可進入程序隨意輸入,但輸入quit的時候退出程序。雖然程序相當簡單,但對於我這種碼盲的人來說也是困難重重,之前剛看到這需求的時候,感覺還行,能有個大概思路覺得不太難,后來寫的時候我發現圖樣圖森破啊~當初就是把要求一步一步實現,后期再優化,結果我發現我的想法錯了,寫了一大堆代碼,導致后來調試的時候非常困難,但自己挖的坑跪着也要填平,中間過程太痛苦,后來我就覺得長痛不如短痛,直接重寫,雖然第一次浪費了很多時間,但也給我第二次提供了很好的思路,第二次寫完時只用了相當於第一次一半的代碼,對於這次寫的代碼還是比較滿意的,最后總結下感受,做技術的,就是需要不斷的去探索,起初方法笨沒關系,先按自己想的去做,實在無解再去查資料,只要能掌握了這項技術,后面自然會做出相應的優化,還有就是要執着,自己的想法一定要實現,有需求完成需求,沒需求創造需求,相信自己,別人能做的我也可以!
下面是我自己寫的代碼,不一定是最優方案,但這是我自己的思路:
1 #登錄判斷,輸入正確登錄成功,登錄后輸入:"exit"退出程序,輸錯三次賬戶被鎖定,然后把賬號記錄在b_user.txt中 2 Start_frequency = 1 3 End_frequency = 3 4 #讀取文件內容 5 Bl_list = open('C:/Users/Tanglei/Desktop/b_user.txt', 'r') 6 b = Bl_list.read() 7 #賬號密碼字典 8 User_dic ={'user1':{'pw':'1','status':2}, 9 'user2':{'pw':'2','status':2}} 10 #程序從這里開始 11 while Start_frequency < End_frequency: 12 Login_Name = input('請輸入用戶名:') 13 Login_PassWord = input('請輸入密碼:') 14 #判斷輸入的用戶名是否在黑名單里 15 if Login_Name in b: 16 print('%s賬戶已被鎖定!'%Login_Name) 17 exit() 18 #判斷用戶名和密碼均正確,提示登錄成功,輸入“quit”退出 19 if Login_Name in User_dic and Login_PassWord == User_dic[Login_Name]['pw']: 20 print('登錄成功') 21 while True: 22 Ex = input('請輸入:') 23 if Ex == 'quit': 24 exit() 25 #判斷輸入錯誤次數,3次后退出程序 26 elif 0<User_dic[Login_Name]['status']: 27 print('----------------------------------------------') 28 print('用戶名或密碼錯誤,還有%s機會'%User_dic[Login_Name]['status']) 29 User_dic[Login_Name]['status'] -= 1 30 #輸入錯誤次數滿3次,把用戶名記錄在黑名單里 31 else: 32 print('輸入錯誤次數較多,請稍后再試') 33 Bl_list = open('C:/Users/Tanglei/Desktop/b_user.txt', 'w') 34 Bl_list.write('%s' % Login_Name) 35 Bl_list.close() 36 exit()