#coding:utf-8 import getpass,sys i=0 j=0 while i<3: username=raw_input('username:') #输入用户名 life_1=open('account_lock.txt','r+') #定义锁定文件的文件对象 life_1list=life_1.readlines() #按行将内容赋值给列表life_1list for life1 in life_1list: user1=life1.strip(' ') #去除每行中的换行符 if username==user1: #判断该用户是否锁定 sys.exit('用户%s已被锁定,请联系管理员!'%username) life_2=open('account.txt','r') #定义用户表的文件对象 life_2list=life_2.readlines() for life2 in life_2list: (name,pas)=life2.strip(' ').split() #将文件中的用户名和密码去除回车符和切片,并分别赋值 if username==name: #判断输入的用户名是否在用户表中 while j<3: #用户名存在的情况下,密码判断 userpass=raw_input('userpass:') if pas==userpass: sys.exit('登陆成功!') else: print('密码错误请重新输入') j+=1 if j==3: # 密码输入错误次数太多,将用户名写入锁定文件中 life_1.write(username+' ') sys.exit(1) print('用户名错误请重新输入') i+=1 if i==3: #用户名输入错误次数太多,退出输入 sys.exit('因为你输入的错误次数太多,该用户已被锁定!') life_1.close() #关闭文件 life_2.close()
需求:1.输入用户名密码
2.认证成功后显示欢迎信息
3.输错三次后锁定