python 小程序,输错三次密码锁定账户

本文介绍了一个简单的Python脚本,用于实现用户登录验证功能。该脚本通过多次尝试输入密码来验证用户身份,并具备基本的账号锁定机制。此外,还展示了如何使用raw_input获取用户输入。

 1 [root@sun ~]# cat 7.py 
 2 #!/usr/bin/python
 3 # -*- coding=UTF-8 -*-
 4 
 5 usera_name   = 'usera'
 6 usera_passwd = 'aresu'
 7 usera_status = 'on'
 8 userb_name   = 'userb'
 9 userb_passwd = 'bresu'
10 userb_status = 'on'
11 ng = 0
12 
13 
14 name = raw_input('请输入用户名:')
15 
16 while ng < 3:
17   if name == usera_name:
18     passwd = raw_input('请输入密码  :')
19     if passwd == usera_passwd:
20       print '欢迎回来 usera !!!'
21       break
22     else:
23       ng += 1
24       if ng == 3:
25         print '密码输入错误三次,账号已锁定 !!!'
26         usera_status = 'off'
27         break
28   elif name == userb_name:
29     passwd = raw_input('请输入密码  :')
30     if passwd == userb_passwd:
31       print '欢迎回来 userb !!!'
32       break
33     else:
34       ng += 1
35       if ng == 3:
36         print '密码输入错误三次,账号已锁定 !!!'
37         usera_status = 'off'
38         break
39   else:
40     print '用户不存在,请重新执行'
41     break
42 
43 print usera_name,usera_status
44 print userb_name,userb_status
45 
46 [root@sun ~]# python 7.py 
47 请输入用户名:usera
48 请输入密码  :1
49 请输入密码  :2
50 请输入密码  :3
51 密码输入错误三次,账号已锁定 !!!
52 usera off
53 userb on
54 [root@sun ~]# python 7.py 
55 请输入用户名:userb
56 请输入密码  :3
57 请输入密码  :2
58 请输入密码  :1
59 密码输入错误三次,账号已锁定 !!!
60 usera off
61 userb on
62 [root@sun ~]# python 7.py 
63 请输入用户名:sun
64 用户不存在,请重新执行
65 usera on
66 userb on
67 [root@sun ~]# python 7.py 
68 请输入用户名:usera
69 请输入密码  :aresu
70 欢迎回来 usera !!!
71 usera on
72 userb on

 

转载于:https://www.cnblogs.com/www1707/p/5811850.html

在编程中,处理登录失败的情况通常涉及到验证用户入的用户名和密码。如果登录失败,可能是由于以下几个原因: 1. **密码误**:用户的入的密码不正确,这可能是大小写、字符顺序或特殊字符不符造成的。 2. **账号不存在**:用户提供的用户名在系统中没有注册,或者被禁用。 3. **账户锁定**:若存在安全策略,连续多次密码可能导致账户被暂时锁定。 为了实现这个功能,你可以创建一个函数,接收用户名和密码作为参数,然后检查它们是否匹配数据库中的记录。以下是一个简单的示例(假设我们有一个数据库查询方法`check_credentials(username, password)`): ```python def login(username, password): # 假设 check_credentials 返回True表示成功,False表示失败 if not check_credentials(username, password): if is_password_error(password): # 自定义函数判断密码误 print("密码误,请重新入.") elif is_account_not_found(username): # 自定义函数判断账号不存在 print("账号不存在,请确认并重试.") else: # 可能是账户锁定或其他情况 print("登录失败,请联系管理员.") else: print("登录成功.") # 假定这些函数已经定义好,返回相应的结果 is_password_error = lambda p: len(p) < 8 or not any(c.isdigit() for c in p) is_account_not_found = lambda u: not user_data.get(u) login("test_user", "wrong_password") ``` 在这个例子中,你需要根据实际情况定义`check_credentials`、`is_password_error`和`is_account_not_found`这些辅助函数。同时,记得处理登录失败后的逻辑要符合你的应用程序需求,比如限制尝试次数、提供反馈等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值