使用流程:
1.程序启动后,显示欢迎信息,提示用户输入用户名;
2.判断用户是否存在,不存在则提示重新输入,或者关闭程序;客户存在则提示客户输入密码;
3.判断密码是否正确,如果不正确则提示用户重新输入,输入第三次依然错误,则锁定该账户;
4.密码输入正确时,后台进程判断用户是否被禁用,“禁用”时提示用户联系管理员;没有禁用则显示登录成功欢迎信息。
系统设计:
(循环登录次数增加,来禁用账户,试了 n 次,还在研究;初步实现用两个文件来实现用户验证)
1.本程序运行需要依赖两个基础文件;user_list:保存用户名以及密码 ;black_list:黑名单;
2.程序运行开始后,先读取两个文件的内容,按行依次循环遍历整个文件;
3.待用户输入用户名后验证用户是否存在;存在则提示输入密码,再校验密码;密码正确,开始校验用户是否在黑名单,如果在。则提示用户联系管理员;不存在,则登录成功。
4.密码输入错误,则循环,第三次还错误,将该用户加入黑名单。
login_user = input('请输入您的账号:') black_list = open('/Users/kamil/PycharmProjects/s20160115_1/day1/homework/blacklist','r+') #可写方式打开黑名单 lock_list = black_list.readlines() #读取整个文件 for lock_user in lock_list: #读取整个文件的 user 列表 lock = lock_user.split() #去除空行影响 user_file = open('/Users/kamil/PycharmProjects/s20160115_1/day1/homework/name.txt','r+') #可读方式打开user user_list = user_file.readlines() for user_info in user_list: user = user_info.split() # print(user) if login_user == user[0]: count = 3 #设置一个可循环次数 while count > 0 : #保证 count>0 login_passwd = input('请输入您的密码:') if login_passwd in user[1]: #如果密码正确开始判断用户是否被锁定 if login_user == lock[0]: print('账号之前被锁定,请联系管理员') #用户在黑名单 exit() else: print('登录成功') #不在黑名单 exit() else: count = count - 1 print('密码输入错误,您还有%d次机会'%(count)) #提示剩余的次数 else: black_list.write(login_user + ' ') #把被锁定的账号写入到文件中换行保存 exit('账号已被锁定,下次禁止登录') else: print('账号不存在') exit() user_file.close() lock_file.close() #关闭文件
黑名单: liukun jim user_list jim 123ewq lucy 321 liukun 3