我先说明下此程序的大概情况,就是输入用户名和密码,输错三次后把账户添加到黑名单里,输入正确的话可进入程序随意输入,但输入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()