首页 > 其他 > 详细

用户登录接口

时间:2017-09-14 16:14:28      阅读:263      评论:0      收藏:0      [点我收藏+]

 

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()


 

 

用户登录接口

原文:http://www.cnblogs.com/relax1949/p/7520717.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!