标签:username 帐号 python 接口 user 编写 line txt users
作业:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
def islocked(username): #验证帐号是否被锁定 with open("lock.txt",'r') as f: #打开lock.txt文件 users = [] #定义一个空列表,用于存储所有的帐号 lines = f.readlines() #读取文件信息,放入列表易于操作 for line in lines: users.append(line.strip().split(':')[0]) #依次读取列表中的元素,按:切片,追加到users列表 if username in users: #如果帐号存在users列表中,提示帐号已被锁定 print("你输入的帐号%s已被锁定,请联系管理员"%username) else: #如果帐号不存在users列表中,则调用isregister函数,确认是否注册 isregister(username) def isregister(username): #验证帐号是否注册 with open("user.txt",'r') as e: register_user = [] user_lines = e.readlines() for user_line in user_lines: register_user.append(user_line.strip().split(':')[0]) if username in register_user: print("正在登录,请稍候...") else: print("Sorry %s还没有注册,请注册之后登录"%username) message = input("你想注册一个帐号(%s)吗?『yes|no:"%username) if message =='yes': register(username) else: sys.exit() def register(username): #注册帐号 _password = input("注册帐号:%s,请输入你的注册密码:"%username) with open("user.txt",'a') as p: info = f"{username}:{_password}\n" p.writelines(info) print("注册完成%s"%username) def userpassword(username): #输入密码,返回给调用函数 print("你要登录的帐号为:%s"%username) _password=input("请输入你的密码:") return _password def login(username): #用户登录函数 islocked(username) i=0 with open("user.txt",'r') as o: dic = {} user_lines = o.readlines() for user_line in user_lines: (user, passwd) = user_line.strip().split(":") dic[user] = passwd while i <3: _password = userpassword(username) if dic[username] == _password: print("Hell,%s欢迎回来"%username) break else: i += 1 #密码失败一次,+1,失败3次调用锁定函数 if i ==3: add_locked_user(username) print("对不起,你输入的次数太多,用户名已被锁定,请联系管理员") break def add_locked_user(username): #锁定函数 with open("user.txt",'r') as x: lines = x.readlines() _user = [] for line in lines: _user.append(line.strip().split(":")[0]) num = _user.index(username) #根据帐号找到锁定帐号的位置 with open ("lock.txt",'a') as a: a.write("%s\n" %lines[num]) #将锁定帐号信息追加到lock.txt文件 with open("user.txt",'w') as w: #打开user.txt文件, del lines[num] #将锁定帐号删除 w.writelines(lines) #将其余帐号信息覆盖写入user.txt login(username=input("请输入你要登录的帐号:"))
user.txt jack:123456 lily:abc123 cici:xyz123
lock.txt jjjj:12345 iiii:123455 oppo:111111
标签:username,帐号,python,接口,user,编写,line,txt,users 来源: https://www.cnblogs.com/baozimantou/p/14194561.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。