Python作业--登录接口

作业需求:

编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

实现思路:

1.从文件获取用户名密码

2.判断是否在黑名单中

3.验证用户名密码

成功:输出认证成功

错误:判断验证次数,超过3次写入黑名单

userinfo.txt文件格式

{"name":"alex","password":"abc123"}
{"name":"songkunhuang","password":"abc123"}
 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on  10:32 2017/7/27 
 4 @author: Song
 5 @E-mail: songkunhuang@163.com
 6 
 7 """
 8 # 输入用户名密码  验证信息从文件读取
 9 # 认证成功显示欢迎信息
10 # 输错三次,锁定用户  保存到文件 黑名单
11 
12 
13 # 解析用户文件  json   eval
14 userinfo_file = open("userinfo.txt","r")
15 user_list = []
16 for user in userinfo_file.readlines():
17     user = user.replace("\n", "")
18     user_list.append(eval(user))
19 
20 # 读取黑名单
21 blackuserlist_file = open("blackuserlist.txt","w+")
22 black_list = []
23 for blackuser in blackuserlist_file:
24     blackuser = blackuser.replace("\n", "")
25     black_list.append(blackuser)
26 
27 def sucess(name):
28     print("welcome",name)
29     exit()
30 
31 count = 3
32 flag = 0
33 while count > 0:
34     username_input = input("Username:")
35     password_input = input("Password:")
36     if username_input in black_list:
37         print("账户已经被锁定")
38     else:
39         for i in user_list:
40             if username_input == i.get("name") and password_input == i.get("password"):
41                 flag = 1
42                 print("认证成功")
43                 sucess(name=username_input)
44                 break
45 
46         if flag == 0:
47             count = count - 1
48             if count > 0:
49                 print("认证失败,你还可以尝试 %d 次" % count)
50 else:
51     for i in user_list:
52         if username_input == i.get("name"):
53             blackuserlist_file.write("".join([username_input, "\n"]))
54             print("%s 账户已经锁定" % username_input)
55     print("无法尝试")
56 
57 userinfo_file.close()
58 blackuserlist_file.close()

 

posted @ 2017-07-28 10:24  songkunhuang  阅读(310)  评论(0编辑  收藏  举报