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 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('::')
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()
#