尝试写个登录接口

流程图能看,但自己画还是比较费劲的,就采用了上面的简单版本

#根据分析,采用用户名和密码分批输入,分别校验方式进行
#先输入用户名并打开两个txt进行校验
name = input("登录用户名:")
f=open("white_list.txt",'r',encoding="utf-8") #存放用户名密码,只读方式
f1=open("black_list.txt",'r+',encoding="utf-8") #存放锁定用户的文件,读写方式
name_pwd=f.readlines() #将文件读取为列表
lock = f1.readlines() #将锁定的文件读出来
name_list=[] #用户名列表
pwd_list=[] #密码列表
name_lock=[] #收集锁定的账户
i=0#密码计数,3次写入黑名单并结束程序
for list_a in name_pwd:
name_list.append(list_a[0:9].strip()) #前9位为name
pwd_list.append(list_a[9:].strip()) #9位以后为password
for list_b in lock:
name_lock.append(list_b[0:].strip()) #锁定的用户名
exit_flag = False #判断运行完后能退出
#程序启动前先判断用户名在不在黑名单
if name in name_lock:
print("%s账户已被锁定,请联系管理员"%name)
else:
#判断用户名是否有效
if name in name_list:
while not exit_flag:
password = input("请输入密码:")
i += 1
if password == pwd_list[name_list.index(name)]: #将name所在的列将密码匹配出来
print("%s欢迎进入"%name)
exit_flag = True
elif i>=3:
f1.writelines(name+" ")
print("密码连续错误3次,账户%s已被锁定,请联系管理员"%name)
exit_flag = True
else:
print("{}密码错误{}次,请重新输入".format(name,i))
else:
print("用户名%s不存在"%name)
f.close()
f1.close()
原文地址:https://www.cnblogs.com/digitalNatives/p/10582731.html