Python登录,输入三次密码
第一段python代码,写了一天,总算不报错了,值得纪念。
基本要求:
写一个登录界面,登录三次锁定用户
1. 包含一个用户信息文件,用户名和密码
2.黑名单文件
过程:
1.先检查是否在黑名单中,如果存在则不让登录
2.如果不在黑名单中也不在用户列表,则提示找管理员开通
3.如果在用户表中,则提示输入密码,如果超过三次输入密码,则把用户加入黑名单。
代码实现流程图:

# -*- coding:UTF-8 -*-
#author:RXS002 2016-8-1 white = open('whitelist.txt','r')
black = open('blacklist.txt','r')
passwd = open('pwdlist.txt','r')
namelist = white.read()
blacklist = black.read()
pwdlist = passwd.read() namecount = 0
pwdcount = 0
totalcount = 0 #程序开始
while True :
username = input('请输入用户名:').strip()
# print(namelist)
# print(username) if username in blacklist:
print('用户在黑名单中,请联系管理员!-----')
print('程序因为黑名单正常结束!!!')
break
elif username in namelist:
pwd = str(input('请输入用户密码:')).strip()
if pwd in namelist:
print('密码正确,欢迎登陆!')
print('程序因为密码输入正确,正常结束!!!')
break
elif pwd not in namelist:
for pwdcount in range(0, 3):
if pwd in namelist:
print('密码输入正确,请进入系统!!!')
break
else:
pwd = str(input('密码不正确,请重新输入密码:')).strip()
pwdcount += 1
print('您还有%d次输入密码的机会' % (3-int(pwdcount))) while pwdcount >= 3:
print('密码输入超过三次,账号被锁定,请联系管理员处理!')
black.close()
black1 = open('blacklist.txt','a')
black1.write(username)
black1.write('\n')
black1.close()
break
break
else:
print('用户不存在,请联系管理员创建用户!!!')
break white.close()
black.close()
passwd.close()
Python登录,输入三次密码的更多相关文章
- python 3.5 用户登录验证和输入三次密码锁定用户
#!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...
- python应用-输入三个数,输出其最大值
""" 输入三个数,输出其最大值 Author:罗万财 Date:2017-7-6 """ a=int(input('a=')) b=int ...
- python中输入三个整数x,y,z,请把这三个数由小到大输出。
输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...
- 《网络》:设置三个密码:通过console口连接设备,进入特权模式,登录Telnet
软件:Cisco Packet Tracer Instructor 软件下载链接在上一篇文章中. 内容:通过设置三个密码,熟悉采用Telnet方式配置交换机的方法. 细节说明:计算机的IP地址和交换机 ...
- python入门:用户登录,三次错误机会
#!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...
- python入门:最基本的用户登录用户登录,三次错误机会
#!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次错误机会 """ 导入getpass,给x赋值为1,while真 ...
- python中的三种输入方式
python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...
- selenium(python)登录时账号密码错误提示语
selenium(python)登录时账号密码错误提示语的获取 可以用text
- Python实现三次密码验证
需求:Python实现三次密码验证,每次验证结果需要提示,三次验证不通过需要单独提示 代码如下: user = '张无忌' password = '12345678' confirm_flag = F ...
随机推荐
- C#泛型约束 (转载)
六种类型的约束: T:结构 类型参数必须是值类型.可以指定除 Nullable 以外的任何值类型.有关更多信息,请参见使用可空类型(C# 编程指南). T:类 类型参数必须是引用类型,包括任何类.接口 ...
- Android之zip文件加密解压及进度条的实现
zip文件的解压能够使用java的zip库,可是没有实现对加密文件的解压功能,这里能够使用zip4j来实现.详细能够參看该文<Android下zip压缩文件加密解密的完美解决方式>.该文件 ...
- Redhat7.2 ----team网卡绑定
我先声明一下,team和bonding是一样的作用,只不过team多了几项功能bonding没有, 做team我们要最少准备两个网卡,我们这里主要显示主备模式. 首先我们先把网卡配置文件删除 nmcl ...
- OpenID Connect Core 1.0(四)使用授权码流验证(上)
3.1 使用授权码流验证(Authentication using the Authorization Code Flow) 本节描述如何使用授权码流执行验证.当使用授权码流时,会从令牌终结点返回的所 ...
- 在VSCode使用Markdown绘制UML图
在VSCode使用Markdown绘制UML图 需要插件 Markdown All in One Markdown Preview Enhanced PlantUML markdownlint Mar ...
- 浅析中国剩余定理(从CRT到EXCRT))
前置知识 1. a%b=d,c%b=e, 则(a+c)%b=(d+e)%b(正确性在此不加证明) 2. a%b=1,则(d\(\times\)a)%b=d%b(正确性在此不加证明) 下面先看一道题(改 ...
- Django DTL 加减乘除求余
django模板只提供了加法的filter,没有提供专门的乘法和除法运算: django提供了widthratio的tag用来计算比率,可以变相用于乘法和除法的计算. 加法 {{value|add:1 ...
- ssm多数据源的操作
公司要求,需要使用两个数据库,一个mysql,一个oracle.所以需要配置两个数据库来进行操作. 1.首先,需要在jdbc.properties文件中将两个库的配置数据写入,不过一个写driver, ...
- Redis事件
Redis事件 Redis的ae(Redis用的事件模型库) ae.c Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件(file event):Redis服务器通过套接字与 ...
- day 33 线程
1.线程理论 什么是线程:线程是cpu的最小执行单位(实体),进程是操作系统的数据资源分配单位 2.线程的两种创建方式(重点) 查看线程的pid:使用os模块查看id,线程的id应该是相同的 3. ...