Day1 login
使用流程:
1.程序启动后,显示欢迎信息,提示用户输入用户名;
2.判断用户是否存在,不存在则提示重新输入,或者关闭程序;客户存在则提示客户输入密码;
3.判断密码是否正确,如果不正确则提示用户重新输入,输入第三次依然错误,则锁定该账户;
4.密码输入正确时,后台进程判断用户是否被禁用,“禁用”时提示用户联系管理员;没有禁用则显示登录成功欢迎信息。
系统设计:
(循环登录次数增加,来禁用账户,试了 n 次,还在研究;初步实现用两个文件来实现用户验证)
1.本程序运行需要依赖两个基础文件;user_list:保存用户名以及密码 ;black_list:黑名单;
2.程序运行开始后,先读取两个文件的内容,按行依次循环遍历整个文件;
3.待用户输入用户名后验证用户是否存在;存在则提示输入密码,再校验密码;密码正确,开始校验用户是否在黑名单,如果在。则提示用户联系管理员;不存在,则登录成功。
4.密码输入错误,则循环,第三次还错误,将该用户加入黑名单。

login_user = input('请输入您的账号:')
black_list = open('/Users/kamil/PycharmProjects/s20160115_1/day1/homework/blacklist','r+')
#可写方式打开黑名单
lock_list = black_list.readlines()
#读取整个文件
for lock_user in lock_list:
#读取整个文件的 user 列表
lock = lock_user.split()
#去除空行影响
user_file = open('/Users/kamil/PycharmProjects/s20160115_1/day1/homework/name.txt','r+')
#可读方式打开user
user_list = user_file.readlines()
for user_info in user_list:
user = user_info.split()
# print(user)
if login_user == user[0]:
count = 3
#设置一个可循环次数
while count > 0 :
#保证 count>0
login_passwd = input('请输入您的密码:')
if login_passwd in user[1]:
#如果密码正确开始判断用户是否被锁定
if login_user == lock[0]:
print('账号之前被锁定,请联系管理员')
#用户在黑名单
exit()
else:
print('登录成功')
#不在黑名单
exit()
else:
count = count - 1
print('密码输入错误,您还有%d次机会'%(count))
#提示剩余的次数
else:
black_list.write(login_user + '\n')
#把被锁定的账号写入到文件中换行保存
exit('账号已被锁定,下次禁止登录')
else:
print('账号不存在')
exit()
user_file.close()
lock_file.close()
#关闭文件
黑名单:
liukun
jim user_list jim 123ewq
lucy 321
liukun 3
Day1 login的更多相关文章
- node day1 login
https://blog.csdn.net/weixin_33901641/article/details/85967847 vue之node.js的简单介绍 http://nodejs.cn/ ht ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- 用户名密码登录小程序及input与raw_input区别。
一.此次程序需要实现: 1.设定固定的用户名密码 2.用户名密码输入正确打印登录正确信息 3.仅仅运行三次登录 二.本次使用的python版本为: Windows下版本号: C:\Users\dais ...
- 学习《Spring 3.x 企业应用开发实战》Day-1
Day-1 记录自己学习spring的笔记 提要:根据<Spring 3.x 企业应用开发实战>开头一个用户登录的例子,按照上面敲的. 1.项目分层
- Python实例---模拟微信网页登录(day1)
第一步:创建Django项目 创建Django项目,添加App 创建静态文件夹static 修改settings.py文件 1. 取消csrf注释 2. 添加静态文件路径 # 添加静态文件路径 STA ...
- day1 python判断输入的密码是否正确
_username = 'leon' _password = 'zyl' username = input("username:") password = input(" ...
- PHAR伪协议&&[CISCN2019 华北赛区 Day1 Web1]Dropbox
PHAR:// PHP文件操作允许使用各种URL协议去访问文件路径:如data://,php://,等等 include('php://filter/read=convert.base64-encod ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?
p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...
随机推荐
- 2014 Super Training #7 E Calculate the Function --矩阵+线段树
原题:ZOJ 3772 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3772 这题算是长见识了,还从没坐过矩阵+线段树的题 ...
- HTML设置超链接字体颜色和点击后的字体颜色
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 如何查看windows xp系统的位数?
1.右击“我的电脑”->属性,可以看到.2.运行dxdiag,在操作系统一行可以看到.3.运行cmd,输入systeminfo,在系统类型一栏可以看到.--简单4.使用一些检测软件也可以看,像鲁 ...
- android app多渠道分发打包
1. 美团多渠道包的方法论 1) maven编译多次 2) apktool一次包,解开重新打 (个人倾向于这个) 3) http://tech.meituan.com/mt-apk-packagi ...
- 怎么解决Android studio导入项目卡死
在使用Android studio的时候常常遇到这样的问题,从github或是其他地方导入项目,Android studio呈现卡死的现象!当遇到这种情况时,可以看看是下面那种情况,在按照方法来解决! ...
- 19Mybatis_订单商品数据模型分析
这篇文章是对订单商品数据模型进行分析(会给出分析思路),有四张表.这篇文章是后续文章的基础,因为后续的文章要针对这个数据模型(四张表)进行一对一,一对多,多对多进行查询. 我们以后会碰到各种各样的数据 ...
- 记2012-2013年一路的Windows Phone历程
昨天和秦春林同学小聚一次,不厌其烦的唠叨各种认识了许多年的纪念,感觉他仍然保持着那份对技术的追求和梦想,而我却已经变得逐利,每个人享受幸福的方式不一样,因此追逐幸福的过程也就是没有办法一样了,你无法知 ...
- Linux Linux程序练习五
题目:编写两个进程a和b,利用共享内存技术,a向共享内存写字符串,b将从共享内存中读到的字符串在屏幕上打印出来. //创建共享内存区 #include <stdio.h> #include ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务
在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003, ...
- app:发布新版本的具体步骤
1