用户登录接口
Posted Mrchan9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户登录接口相关的知识,希望对你有一定的参考价值。
2017-09-14 14:56:36
本博客内多为原创,如需转载,请注明出处,谢谢。
功能介绍:
根据输入的用户名,首先判断用户名是否在锁文件中。
如果不在锁文件中,输入该用户的密码,若用用户名和密码匹配成功,则显示欢迎信息;若匹配不成功的次数超过限定输入次数,则将该用户写入到锁文件中。
1 # _*_ coding:utf-8 _*_ 2 # author:Mr.chan 3 # date:2017-09-14 4 5 """ 需求: 6 1、输入用户名密码并判断是否匹配 7 2、登录成功后显示登录信息 8 3、输错三次后锁定该用户 9 10 本程序包含两个文件: 11 user_locked.txt # 被锁的用户放在该文件中 12 userlist.txt # 用户列表,包含用户名和密码 13 """ 14 15 import sys 16 17 def login(username,password): 18 """用户登录函数,判断用户名和密码是否正确""" 19 with open("userlist.txt", ‘r‘) as f: 20 for line in f: 21 if [username, password] == line.strip().split(‘|‘): 22 return True # 若用户名和密码匹配成功,则返回True 23 24 def info(): 25 """登录成功后,显示欢迎信息""" 26 if True: 27 print("欢迎%s登录"%username) 28 29 def user_islocked(username): 30 """判断输入的用户是否在锁文件中,若存在,则退出""" 31 with open("user_locked.txt",‘r‘) as f: 32 for line in f: 33 if username == line.strip(): 34 sys.exit("%s is locked!"%username) 35 36 def user_locked(username): 37 """用户锁文件,把用户写入到该文件中,用户就无法登录""" 38 with open("user_locked.txt",‘a+‘) as f: 39 f.write(username) 40 f.write(‘\n‘) 41 sys.exit("您输入的错误次数过多,已被锁定") 42 43 def main(): 44 """主函数,执行各项操作""" 45 global retry_limit,retry_count,username #调用函数外的全局变量 46 while retry_limit > retry_count: 47 username = input("请输入用户名:") 48 user_islocked(username) # 调用函数,检测输入的用户是否在锁文件中 49 password = input("请输入密码:") 50 # 调用函数,判断用户名和密码是否正确 51 f = login(username, password) 52 if f: # 若f为True,执行以下操作 53 info() 54 break 55 else: 56 print("用户名或密码错误\n") 57 retry_count += 1 58 else: 59 user_locked(username) # 调用用户锁文件,如果超出错误次数,则执行该函数锁定用户 60 61 retry_limit = 3 # 输入的限制次数,若超过则锁定 62 retry_count = 0 # 用户输入次数的计数器 63 64 if __name__ == "__main__": 65 main()
以上是关于用户登录接口的主要内容,如果未能解决你的问题,请参考以下文章