使用流程:

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的更多相关文章

  1. node day1 login

    https://blog.csdn.net/weixin_33901641/article/details/85967847 vue之node.js的简单介绍 http://nodejs.cn/ ht ...

  2. day1作业--登录入口

    作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...

  3. 用户名密码登录小程序及input与raw_input区别。

    一.此次程序需要实现: 1.设定固定的用户名密码 2.用户名密码输入正确打印登录正确信息 3.仅仅运行三次登录 二.本次使用的python版本为: Windows下版本号: C:\Users\dais ...

  4. 学习《Spring 3.x 企业应用开发实战》Day-1

    Day-1 记录自己学习spring的笔记 提要:根据<Spring 3.x 企业应用开发实战>开头一个用户登录的例子,按照上面敲的. 1.项目分层

  5. Python实例---模拟微信网页登录(day1)

    第一步:创建Django项目 创建Django项目,添加App 创建静态文件夹static 修改settings.py文件 1. 取消csrf注释 2. 添加静态文件路径 # 添加静态文件路径 STA ...

  6. day1 python判断输入的密码是否正确

    _username = 'leon' _password = 'zyl' username = input("username:") password = input(" ...

  7. PHAR伪协议&&[CISCN2019 华北赛区 Day1 Web1]Dropbox

    PHAR:// PHP文件操作允许使用各种URL协议去访问文件路径:如data://,php://,等等 include('php://filter/read=convert.base64-encod ...

  8. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  9. 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?

    p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...

随机推荐

  1. [3D跑酷] GUIManager UI管理

    UI元素更新及界面跳转 继上篇日志<Unity开发之 GUIClickEventReceiver>,再谈一下我们如何管理游戏中的UI元素更新及界面跳转 UI绑定 图一:Inspector面 ...

  2. 开坑,Unix环境高级编程,转行之路又得缓缓了

    不要问我基础,我用了近6年的Linux系统,最早的版本可以追溯到Ubuntu 8.04,常用的命令 VIM基本上是没压力,遇到问题google 配置环境变量 网络环境也不在话下, C语法基本熟练,过去 ...

  3. 日期选择器:jquery datepicker的使用

    helloweba.com 作者:月光光 时间:2012-04-08 21:05 标签: jquery  datepicker  jquery ui     在jquery ui中,提供了一个非常实用 ...

  4. Windows Phone 简介

    中文官网 https://dev.windowsphone.com/zh-cn Windows Phone SDK 7.1 http://www.microsoft.com/zh-cn/downloa ...

  5. [转]面向GPU的多LOD因子的大规模场景可视化策略

    直接附上原文链接: 1.面向GPU的多LOD因子的大规模场景可视化策略 2.Real-Time Dynamic Level of Detail Terrain Rendering with ROAM

  6. nginx安装pcre

    一.有的服务器上没有安装pcre那么安装nginx的时候会报错 所以在安装之前我们可以: yum install pcre-devel 如果很不巧,服务器也没有配yum,也不能连互联网.那么我们只能自 ...

  7. ZooKeeper学习第二期--ZooKeeper安装配置

    一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式. ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境:■ 伪集群模式:就是在一台物 ...

  8. JS函数调用的方法

    JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1.方法调用模式:先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来 ...

  9. 详解C# 迭代器[转]

    迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式.简单来说,迭代器模式使得你能够获取到序列中的所有元素 ...

  10. IOS开发之—— 各种加密的使用(MD5,base64,DES,AES)

    基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash Algorithm ...