day1作业--登录入口
作业概述:
编写一个登录入口,实现如下功能:
(1)输入用户名和密码
(2)认证成功后显示欢迎信息
(3)输错三次后锁定
流程图:

readme:
1、程序配置文件: 黑名单文件blacklist.txt(可以存在,可以不存在) 白名单文件whitelist.txt存在,内容如下: zhangsan,1234 wang,1234 ding,1234 2、输入密码的时候不显示 代码:
#coding=utf-8
import os
import getpass
BlackListFileName = 'E:\\python3.5_study\\s13\\day1\\login\\blacklist.txt' #存放黑名单
WhiteListFileName = 'E:\\python3.5_study\\s13\\day1\\login\\whitelist.txt' #存放白名单
ErrorNum = 0 #记录错误次数
BlackFlag = False #遍历黑名单的标志位
WhiteFlag = False #遍历白名单的标志位
WhiteNameList = [] #存放白名单中所有的用户名字
print ('''
*********************
登录入口
*********************
''')
#判断黑名单文件是否存在
FileExistBool = os.path.exists(BlackListFileName)
if FileExistBool == False:
BlackF=open(BlackListFileName,'w') #创建存放黑名单的文件
BlackF.close()
UserName = input("请输入用户名:")
PassWord = getpass.getpass("请输入密码:")
#判断用户是否在黑名单中
BlackF=open(BlackListFileName,'r') #读取方式打开黑名单文件
BlackNameContent = BlackF.readlines() #读取黑名单文件中所有内容,放入list中
for i in range(len(BlackNameContent)):
BlackName = BlackNameContent[i].strip().split(',')[0]
if UserName == BlackName:
print ('%s用户被锁定' %(UserName))
BlackF.close()
BlackFlag = True
break
if BlackFlag == False: #BlackFlag==False说明UserName不在黑名单中
#判断用户名和密码是否正确
while 1:
WhiteF=open(WhiteListFileName,'r') #读取方式打开白名单文件
WhiteNameContent = WhiteF.readlines() #读取白名单文件中所有内容,放入list中
for i in range(len(WhiteNameContent)):
Name = WhiteNameContent[i].strip().split(',')[0]
NamePassWord = WhiteNameContent[i].strip().split(',')[1]
WhiteNameList.append(Name)
if UserName == Name and PassWord == NamePassWord:
print ('恭喜,登录成功')
WhiteFlag = True
break
WhiteF.close()
if UserName not in WhiteNameList:
print ('%s用户不存在' %UserName)
break
if WhiteFlag == True: #登录成功,跳出while循环
break
else:
ErrorNum += 1 #用户名和密码错误的话错误次数+1
print ('用户名或密码输入错误,第%d次' %ErrorNum)
print ('ErrorNum:',ErrorNum)
if ErrorNum < 3:
UserName = input("请输入用户名:")
PassWord = getpass.getpass("请输入密码:")
else:
print ('错误次数过多,用户被锁定')
BlackF=open(BlackListFileName,'a+') #追加写黑名单文件
BlackName = UserName+'\n'
BlackF.write(BlackName)
BlackF.close()
break
day1作业--登录入口的更多相关文章
- day1作业--登录接口
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 知识: 1.循环的使用: 2.continue,break在循环中中断的作用: 3.文件的写入,读取: 4.各基础知 ...
- Day1作业---登录接口及多级菜单
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Ma Qing data = { "山东" :{ "济南&qu ...
- day1作业登录接口总结
作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 上面作业,用了几种思路来解决问题:但是本质上其实都是一样的:核心都是对文件的操作,文件的增删改查:并且这些操 ...
- Day1作业要求
Day1作业 作业需求 博客 模拟登录 三级菜单 博客地址 杨振伟Day1博客地址 模拟登录 1.程序说明 实现功能如下 用户输入密码,密码验证后登录成功 用户登录成功后提示登录信息 用户输入3次错误 ...
- 使用session页面控制登录入口及购物车效果的实现
由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容.实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只 ...
- 【thinkphp5】安全建议:隐藏后台登录入口地址
我们都知道后台 www.test.com/admin 是我们最常用的登录入口,方便的同时也留下了隐患,如果你刚好使用了 admin/ 这种账号密码的方式,会导致我们的后台完全暴露在外. 因此我们建 ...
- Python3.5 Day1作业:实现用户密码登录,输错三次锁定。
作业需求: 1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 实现思路: 1.判断用户是否在黑名单,如果在黑名单提示账号锁定. 2.判断用户是否存在,如果不存在提示账号不存在. 3. ...
- day1作业:登录接口
作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 思路: (1)用户输入用户名: (2)去锁定文件中验证用户名是否锁定: (3)去当前用户验证用户是否存在: ...
- day1作业:编写登录窗口一个文件实现
思路: 1.参考模型,这个作业我参考了linux的登录认证流程以及结合网上银行支付宝等锁定规则: 1)认证流程参考的是Linux的登录:当你输入完用户名密码后再验证用户名是否存在用户是否被锁定,然后在 ...
随机推荐
- 实时控制软件设计 第一次作业 Draw
#include <iostream> #include <cstring> #include <math.h> #include <Eigen/Dense& ...
- 混合开发H5的图片怎么适配自己想要的大小
1.先上个自己没适配的图,这个图没显示全,因为用的是webview 所以 用的是webView的代理事件 解决 2.上代码 NSString *injectionJSString = @"v ...
- Adobe Dreamweaver代码编辑
Adobe Dreamweaver 同义词 DW(Adobe Dreamweaver的缩写)一般指Adobe Dreamweaver Adobe Dreamweaver,简称“DW”,中文名称 &qu ...
- JAVA(3)
接口注意事项: 1.接口不能被实例化 2.接口中所有的方法都不能有主体 (不能有{ }) 3.一个类可以实现多个接口 4.接口中可以有变量<但变量不能用private和protected修饰& ...
- 一款基于bootstrap的datetimepicker
<!DOCTYPE HTML> <html> <head> <link href="http://netdna.bootstrapcdn.com/t ...
- css基本设置
css引入方式: 头部引入:在HTML页面头部编写程序(一般用在访问量大的网页上) 标签内引入:在标签内直接写样式(优先级最高,但难于维护,会沉积大量代码) 外部引入:用link标签引入(常用 ,维护 ...
- Keychain group access
Keychain group access Apr 3, 2010 · 3 minute read · Comments keychain Since iPhone OS 3.0 it has bee ...
- mongodb C# 驱动查询
INoSqlProvider provider = NoSqlManager.Create("CloudTable"); IMongoCollection<FormMongo ...
- win7绕过开机密码攻略
访问windows机器,经常会因为忘记了开机密码而苦恼.当然你也可以选择重装,这样最简单粗暴.如果有重要数据保存在C盘之类的(个人严重推荐不要保存到C盘),那就不是重装能解决的问题了.2014年12月 ...
- Favorite Setting
1. You Tube download Opera plugin:Video Downloader Pro Website:http://en.savefrom.net 2.