点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf8 -*-
  3. import os
  4. import sys
  5. #
  6. userfile = file('user.txt', 'r+')
  7. userlist = []
  8. userdict = {}
  9. #是否存在用户文件,有的话执行,没有的话退出.
  10. if os.path.isfile("user.txt"):
  11. pass
  12. else:
  13. print '没有定义用户文件!'
  14. sys.exit
  15. #userfile.readlines()
  16. for userline in userfile:
  17. useritem = userline.strip()
  18. #生成系统用户列表
  19. value_useritem = useritem.split(';')
  20. #基本判断条件取出
  21. value_username = value_useritem[0].strip()
  22. value_passwd = value_useritem[1].strip()
  23. lock_value = int(value_useritem[-1])
  24. logincount_value = int(value_useritem[-2])
  25. #生成用户名列表
  26. userdict[value_username] = {'name':value_username, 'pwd':value_passwd, 'lockcount':logincount_value, 'locknum':lock_value}
  27. flag = 'Ture'
  28. counter = 0
  29. while flag :
  30. username = raw_input('请输入用户名:')
  31. userpasswd = raw_input('密码:')
  32. #判断是否是系统用户
  33. if username not in userdict.keys() :
  34. print '没有这个用户!'
  35. break;
  36. elif userdict[username]['locknum'] == 0 and userdict[username]['lockcount'] 3 :
  37. if userpasswd == userdict[username]['pwd'].strip() :
  38. print '欢迎登陆!!'
  39. break
  40. else:
  41. counter += 1
  42. userdict[username]['lockcount'] += 1
  43. userfile = file('user.txt', 'w+')
  44. for t in userdict.values():
  45. wuserlist = [str(t['name']), str(t['pwd']), str(t['lockcount']), str(t['locknum'])]
  46. # wuserlist = t.values()
  47. wuserlist_str = ';'.join(wuserlist)
  48. #userfile.seek(0)
  49. userfile.write(wuserlist_str + '\n')
  50. if counter > 2 :
  51. print '密码输入三次错误,退出.'
  52. break;
  53. else:
  54. print '帐户已经被锁定!'
  55. sys.exit('请联系管理解锁.')
  56. continue;
  57. userfile.close()

user.txt
格式:
用户名;密码;错误密码次数;管理员手动锁定账户

点击(此处)折叠或打开

  1. talen;tpass;0;0
  2. alex;apass;0;0
  3. bill;bpass;0;1

执行过程:
输入系统列表中没有的用户名与密码
[t@bjb0541 python]$ ./day11.py  
请输入用户名:nobody
密码:nobody
没有这个用户!

输入系统列表中被管理员手工禁用的账户
[t@bjb0541 python]$ ./day11.py  
请输入用户名:bill
密码:bpass
帐户已经被锁定!
请联系管理解锁.

系统用户密码输入错误3次,锁定账户
[t@bjb0541 python]$ ./day11.py  
请输入用户名:talen
密码:error
请输入用户名:talen
密码:error2
请输入用户名:talen
密码:error3
密码输入三次错误,退出.
[t@bjb0541 python]$ ./day11.py  
请输入用户名:talen
密码:tpass
帐户已经被锁定!
请联系管理解锁.

系统用户正常登陆
[t@bjb0541 python]$ ./day11.py  
请输入用户名:alex
密码:apass
欢迎登陆!!

系统用户配置已经更新.
[t@bjb0541 python]$ cat user.txt
bill;bpass;0;1
alex;apass;0;0
talen;tpass;3;0

python Day1作业:用户三次登陆锁定相关推荐

  1. python小课账号转卖_python小练习:用户三次登陆, 购物车

    2018.12.1 周末练习: 1.用户三次登陆 from random importrandint i= 1 while i < 4: num=0 verify_code= '' while ...

  2. day1 作业编写登录窗口

    作业一:编写登录接口 (1)输入用户名和密码: (2)认证成功后显示欢迎信息: (3)输错三次后锁定. 思路:我们知道,要想让程序记住之前输入多少次,锁定用户,那么可以使用数据库来保存用户的状态,然而 ...

  3. Python3.5 Day1作业:实现用户密码登录,输错三次锁定。

    作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3. ...

  4. python用户登陆程序 要求用户名和密码_python开发基础作业01:模拟登陆系统

    随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...

  5. python输入错误提示再次输入_Python实现用户登录并且输入错误三次后锁定该用户...

    实现用户登录并且输入错误三次后锁定该用户 我的测试环境,win7,python3.5.1 提示输入用户名,和密码 判断是否被锁定 判断用户名和密码是否匹配 输入错误三次,账号被锁定 思路 代码块 na ...

  6. python实现简单的用户密码登录控制(输入三次就锁定用户)

    问题描述 我们经常在登录一些网站的时候,发现我们如果连续的输错好几次密码,我们的帐号就被锁定起来了,那这个过程是如何实现的呢?本程序主要就是解决以下3件事情 1.输入用户名密码 2.认证成功并显示欢迎 ...

  7. python3.0实例_python3.0 模拟用户登录,三次错误锁定的实例

    python用户登录三次锁定怎么修改 1.normal_user是存放用户id及密码的文件 2.lock_file是存放被锁定的用户id的文档,默认为空. 3.程序会对normal_user里的合法用 ...

  8. python用户登陆,Python入门基础--用户登陆

    让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...

  9. python密码登录程序三次_Python实现账号密码输错三次即锁定功能简单示例

    本文实例讲述了Python实现账号密码输错三次即锁定功能.分享给大家供大家参考,具体如下: 初学Python-1 #实现账号输错三次即锁定 user = "hubery" pass ...

最新文章

  1. css3 :nth-child()选择器的使用
  2. 在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据
  3. python selenium爬虫_详解基于python +Selenium的爬虫
  4. 千兆网综合布线系统的线缆选型
  5. C/C++—— int main(int argc,char* argv[])讲解
  6. 余承东:华为P40或是鸿蒙系统首款手机,新机明年3月发布
  7. (02)vtk 绘制模型的外轮廓线 模型轮廓线
  8. MATLAB 信号处理仿真入门实验
  9. Spring Boot 静态资源处理
  10. 《汉字简体、繁体相互转换》 查看源代码
  11. 详解Linux系统CPU的内部架构和工作原理
  12. 计算机在线使用高级,2017高会《职称计算机》Internet应用:Internet高级选项
  13. 四六级分数根据比例给分
  14. RxSwift-MVVM
  15. 轻快PDF阅读器绿色版免费下载
  16. PyTorch学习记录——PyTorch生态
  17. 初学verilog必看
  18. 2016年云计算会议_云计算会议2012
  19. 这套设备管理方案助你效率10倍提升
  20. u3d开发培训要学哪些?

热门文章

  1. InfluxDb中写入重复数据问题解决方案
  2. C#方法中参数ref和out的解析
  3. android:showAsAction=never报错
  4. iOS中的两种主要架构及其优缺点
  5. 【推荐】Redhat 5配置YUM服务器【利用DVD盘做yum源】
  6. [业界资讯]腾讯QQ同时在线用户数突破8000万
  7. 穷大学生耍了三大花招成为大富翁!
  8. JAVA调用R语言之Rserve(二)
  9. php算出明天的日期,PHP获取昨天、今天及明天日期的方法
  10. php defer,PHP 协程:Go + Chan + Defer