python Day1作业:用户三次登陆锁定
点击(此处)折叠或打开
- #!/usr/bin/env python
- # -*- coding:utf8 -*-
- import os
- import sys
- #
- userfile = file('user.txt', 'r+')
- userlist = []
- userdict = {}
- #是否存在用户文件,有的话执行,没有的话退出.
- if os.path.isfile("user.txt"):
- pass
- else:
- print '没有定义用户文件!'
- sys.exit
- #userfile.readlines()
- for userline in userfile:
- useritem = userline.strip()
- #生成系统用户列表
- value_useritem = useritem.split(';')
- #基本判断条件取出
- value_username = value_useritem[0].strip()
- value_passwd = value_useritem[1].strip()
- lock_value = int(value_useritem[-1])
- logincount_value = int(value_useritem[-2])
- #生成用户名列表
- userdict[value_username] = {'name':value_username, 'pwd':value_passwd, 'lockcount':logincount_value, 'locknum':lock_value}
- flag = 'Ture'
- counter = 0
- while flag :
- username = raw_input('请输入用户名:')
- userpasswd = raw_input('密码:')
- #判断是否是系统用户
- if username not in userdict.keys() :
- print '没有这个用户!'
- break;
- elif userdict[username]['locknum'] == 0 and userdict[username]['lockcount'] 3 :
- if userpasswd == userdict[username]['pwd'].strip() :
- print '欢迎登陆!!'
- break
- else:
- counter += 1
- userdict[username]['lockcount'] += 1
- userfile = file('user.txt', 'w+')
- for t in userdict.values():
- wuserlist = [str(t['name']), str(t['pwd']), str(t['lockcount']), str(t['locknum'])]
- # wuserlist = t.values()
- wuserlist_str = ';'.join(wuserlist)
- #userfile.seek(0)
- userfile.write(wuserlist_str + '\n')
- if counter > 2 :
- print '密码输入三次错误,退出.'
- break;
- else:
- print '帐户已经被锁定!'
- sys.exit('请联系管理解锁.')
- continue;
- userfile.close()
user.txt
格式:
用户名;密码;错误密码次数;管理员手动锁定账户
点击(此处)折叠或打开
- talen;tpass;0;0
- alex;apass;0;0
- 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作业:用户三次登陆锁定相关推荐
- python小课账号转卖_python小练习:用户三次登陆, 购物车
2018.12.1 周末练习: 1.用户三次登陆 from random importrandint i= 1 while i < 4: num=0 verify_code= '' while ...
- day1 作业编写登录窗口
作业一:编写登录接口 (1)输入用户名和密码: (2)认证成功后显示欢迎信息: (3)输错三次后锁定. 思路:我们知道,要想让程序记住之前输入多少次,锁定用户,那么可以使用数据库来保存用户的状态,然而 ...
- Python3.5 Day1作业:实现用户密码登录,输错三次锁定。
作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3. ...
- python用户登陆程序 要求用户名和密码_python开发基础作业01:模拟登陆系统
随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...
- python输入错误提示再次输入_Python实现用户登录并且输入错误三次后锁定该用户...
实现用户登录并且输入错误三次后锁定该用户 我的测试环境,win7,python3.5.1 提示输入用户名,和密码 判断是否被锁定 判断用户名和密码是否匹配 输入错误三次,账号被锁定 思路 代码块 na ...
- python实现简单的用户密码登录控制(输入三次就锁定用户)
问题描述 我们经常在登录一些网站的时候,发现我们如果连续的输错好几次密码,我们的帐号就被锁定起来了,那这个过程是如何实现的呢?本程序主要就是解决以下3件事情 1.输入用户名密码 2.认证成功并显示欢迎 ...
- python3.0实例_python3.0 模拟用户登录,三次错误锁定的实例
python用户登录三次锁定怎么修改 1.normal_user是存放用户id及密码的文件 2.lock_file是存放被锁定的用户id的文档,默认为空. 3.程序会对normal_user里的合法用 ...
- python用户登陆,Python入门基础--用户登陆
让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定登陆 #__author:Mifen #date: 2018/11/28 import time #自定义本地用户名和密码 user_nam ...
- python密码登录程序三次_Python实现账号密码输错三次即锁定功能简单示例
本文实例讲述了Python实现账号密码输错三次即锁定功能.分享给大家供大家参考,具体如下: 初学Python-1 #实现账号输错三次即锁定 user = "hubery" pass ...
最新文章
- css3 :nth-child()选择器的使用
- 在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据
- python selenium爬虫_详解基于python +Selenium的爬虫
- 千兆网综合布线系统的线缆选型
- C/C++—— int main(int argc,char* argv[])讲解
- 余承东:华为P40或是鸿蒙系统首款手机,新机明年3月发布
- (02)vtk 绘制模型的外轮廓线 模型轮廓线
- MATLAB 信号处理仿真入门实验
- Spring Boot 静态资源处理
- 《汉字简体、繁体相互转换》 查看源代码
- 详解Linux系统CPU的内部架构和工作原理
- 计算机在线使用高级,2017高会《职称计算机》Internet应用:Internet高级选项
- 四六级分数根据比例给分
- RxSwift-MVVM
- 轻快PDF阅读器绿色版免费下载
- PyTorch学习记录——PyTorch生态
- 初学verilog必看
- 2016年云计算会议_云计算会议2012
- 这套设备管理方案助你效率10倍提升
- u3d开发培训要学哪些?