第一段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登录,输入三次密码的更多相关文章

  1. python 3.5 用户登录验证和输入三次密码锁定用户

    #!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...

  2. python应用-输入三个数,输出其最大值

    """ 输入三个数,输出其最大值 Author:罗万财 Date:2017-7-6 """ a=int(input('a=')) b=int ...

  3. python中输入三个整数x,y,z,请把这三个数由小到大输出。

    输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...

  4. 《网络》:设置三个密码:通过console口连接设备,进入特权模式,登录Telnet

    软件:Cisco Packet Tracer Instructor 软件下载链接在上一篇文章中. 内容:通过设置三个密码,熟悉采用Telnet方式配置交换机的方法. 细节说明:计算机的IP地址和交换机 ...

  5. python入门:用户登录,三次错误机会

    #!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次机会重试 #主要分为两个部分,一部分是写三次循环,一部分写用户输入 #用户登录的实现,循环3次 ...

  6. python入门:最基本的用户登录用户登录,三次错误机会

    #!/usr/bin/env python # -*- coding:utf-8 -*- #用户登录,三次错误机会 """ 导入getpass,给x赋值为1,while真 ...

  7. python中的三种输入方式

    python中的三种输入方式 python2.X python2.x中以下三个函数都支持: raw_input() input() sys.stdin.readline() raw_input( )将 ...

  8. selenium(python)登录时账号密码错误提示语

    selenium(python)登录时账号密码错误提示语的获取 可以用text

  9. Python实现三次密码验证

    需求:Python实现三次密码验证,每次验证结果需要提示,三次验证不通过需要单独提示 代码如下: user = '张无忌' password = '12345678' confirm_flag = F ...

随机推荐

  1. Loadrunner之HTTP接口测试

    Loadrunner之HTTP接口测试 接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程. ...

  2. poj 2253 Frogger 最小瓶颈路(变形的最小生成树 prim算法解决(需要很好的理解prim))

    传送门: http://poj.org/problem?id=2253 Frogger Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...

  3. HDU 1272小希的迷宫(裸并查集,要判断是否构成环,是否是连通图)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1272 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    ...

  4. Gradle Goodness: Run a Build Script With a Different Name

    Normally Gradle looks for a build script file with the name build.gradle in the current directory to ...

  5. [转载]单点登录SSO:概述与示例

    原文地址: https://www.cnblogs.com/baibaomen/p/sso.html 目录 概述 演示一:零改造实施单点登录 演示二: 单点注销 演示三:集成AD认证 演示四:客户端单 ...

  6. Backward compatibility

    向后兼容

  7. c#网络加密传输

    网上已经有很多测试,我就不多说了.先说说我的测试. 1.net framework 都应该合适. 2.RSACryptoServiceProvider类在.net core 下无法调用xml导出方法( ...

  8. 基于jQuery的轮播焦点图图

    轮播焦点图 ——仿淘宝首页jquery轮播焦点图,我特意去taobao首页看了下它的轮播,好像有点相似,我不保证是我写的这样. 本例来源:站长之家http://sc.chinaz.com/jiaobe ...

  9. Mysql数据库报错1264

    数据库报错 [Err] 1264 - Out of range value adjusted for column 'ID' at row 1 修改MYSQL下的my.ini, 将 sql-mode= ...

  10. 20155230 2016-2017-2《Java程序设计》第二周学习总结

    20155230 2016-2017-2 <Java程序设计>第er周学习总结 教材学习内容总结 JAVA编程风格 1.命名变量时不可以使用数字及特殊字符作为开头. 2.变量名称不可以与J ...