def lock_user_fi(): #循环遍历用户锁定文件函数 """user locked file""" with open('locked.txt') as lock_fi: for line in lock_fi: return line #给一个返回值,等下用到
def user_list(): # 定义循环用户登录文件函数
with open('user_login.txt','r') as user_login: for line in user_login: # (user,passwd)=line.strip().split('::') (a)=line.strip().split('::') #因为存储用户登录的文件是以 username:password 的方式保存,所以以:: 来将值取出 return a # return user,passwd # username.append(line.split('::'))def user_login(): #定义用户登录程序 """user login infomation""" user_list() #调用 循环用户登录文件函数 flag=False #初始化一个值为假 lock_user_fi() #调用 用户锁定文件函数 # # print(user,passwd) a=0 #进入大循环,有三次机会输入用户名 while a<3: if flag: #当flag 这个值为真时,退出本层 break username=input('input username:') if username in user_list(): #判断用户输入的值是否在 user_list()这个函数里,如果user_list()没有返回值的话,这里会拿不到信息。这一层a要自加,当用户输入的值在user_list()里 则进入输入密码 b = 1 while b < 4: #与用户输入用户名一样,先来一个循环,只要密码输入不对三次(b在自加),则退出本层 if flag: #当密码对的位置为‘真’时,这里不再输入密码,退出程序 break password = input('input pasword:') if password in user_list() and username in user_list(): #前面输入的用户名和密码都在 用户登录信息文件时,则登录成功. 同样,将flag 的值设为真, print('login successfully!') flag = True if password not in user_list(): #输入其它的信息,报错 print("invalid input") b+=1 #密码输入的次数在自加 if username in lock_user_fi(): #用户名在锁定文件里提示已锁定 print("user alread locked") flag=True #标志位,当程碰到flag 为真的时候,就会退出,上面有条件判断flag if username not in user_list() and username not in lock_user_fi(): #输入的信息 不在用户登录文件,也不在用户锁定文件,报错。 print("invalid input") a+=1 #最外层的用户输入次数在自加,当加到3时,退出程序 if username in user_list(): flag=True else: #输入对或输入错,这一段都执行 ‘program exit’, print('program exit')def user_loop(): pass # a=0 # while a<3: # user_input() # a+=1#user_loop() user_login() #调用 3次登录函数 代码
def lock_user_fi(): """user locked file""" with open('locked.txt') as lock_fi: for line in lock_fi: return linedef user_list(): with open('user_login.txt','r') as user_login: for line in user_login: # (user,passwd)=line.strip().split('::') (a)=line.strip().split('::') return a # return user,passwd # username.append(line.split('::'))def user_login(): """user login infomation""" user_list() flag=False lock_user_fi() user_list() # print(user,passwd) a=0 while a<3: if flag: break username=input('input username:') if username in user_list(): b = 1 while b < 4: if flag: break password = input('input pasword:') if password in user_list() and username in user_list(): print('login successfully!') flag = True # if username in lock_user_fi(): # print("user alread locked") if password not in user_list(): print("invalid input") b+=1 if username in lock_user_fi(): print("user alread locked") flag=True if username not in user_list() and username not in lock_user_fi(): print("invalid input") a+=1 if username in user_list(): flag=True else: print('program exit')def user_loop(): pass # a=0 # while a<3: # user_input() # a+=1#user_loop()user_login()# user_list()#