【Python】用户登录三次锁定

Posted on 2016-09-11 15:31  Sunday是只喵  阅读(5519)  评论(2编辑  收藏  举报

需求说明:

  用户登录,对密码进行三次校验,三次均失败后,将锁定用户名,不允许登录。

解决方案:

  1、明确可成功登录的用户名和密码;

  2、用户黑名单,三次登录失败后,将用户名写入黑名单;

  3、检测黑名单的内容,如果与当前登录名一致,则不允许继续输入密码,直接提示用户已锁定。

代码实现:

 1 # -*- coding:utf-8 -*-
 2 
 3 #登录三次锁定用户
 4 
 5 #用于计数(循环三次的判断)
 6 count = 0
 7 
 8 #真实用户名和密码
 9 real_username = "iamxxx"
10 real_password = "123qwe"
11 
12 #读取黑名单的内容
13 f = open('black_user','r')
14 lock_file = f.read()
15 f.close()
16 
17 username = raw_input("请输入用户名:")
18 
19 #判断输入的用户名是否在黑名单内,如果在则不允许继续输入密码
20 for i in range(1):
21     if lock_file == username:
22         print("对不起,您的用户名已锁定,暂时不允许使用!")
23         exit()
24     else:
25         continue
26 
27 #尝试输入密码,并将输入次数进行计数
28 for i in range(3):
29     password = raw_input("请输入密码:")
30     if password == real_password:
31         print "登录成功!"
32         break
33     else:
34         print("登录失败...")
35     count += 1
36 
37 #如果错误密码输入了三次,则提示用户名锁定,并将用户名放入黑名单中
38 if count == 3:
39     print("对不起,您输入的密码错误次数已达3次,将锁定您的账户!")
40     f = open('black_user','w')
41     f.write('%s'%username)
42     f.close()

执行结果:

场景1:输入正确
请输入用户名:iamxxx
请输入密码:123qwe
登录成功!

场景2:输入错误3次
请输入用户名:iamxxx
请输入密码:1
登录失败...
请输入密码:1
登录失败...
请输入密码:1
登录失败...
对不起,您输入的密码错误次数已达3次,将锁定您的账户!

再次执行:
请输入用户名:iamxxx
对不起,您的用户名已锁定,暂时不允许使用!