需求说明:
用户登录,对密码进行三次校验,三次均失败后,将锁定用户名,不允许登录。
解决方案:
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 对不起,您的用户名已锁定,暂时不允许使用!
来源:https://www.cnblogs.com/BIGMOM/p/5861917.html