作业要求:

输入用户名,密码

认证成功显示欢迎信息

输入错误三次后锁定用户

Readme

1.user_id.txt是存放用户id及密码的文件

2.user_lock.txt是存放被锁定的用户id的文档,默认为空.

3.程序会对user_id.txt里的合法用户id进行判断,若连续输入用户id错误达三次程序直接退出.

4.程序会输入对正确用户名后的密码进行判断,输入密码有3次机会,连续三次错误则会锁定用户id并且退出.

流程图:

代码:

#!/user/binenv python3

# -*- coding:utf-8 -*-

'''

Created on: 2015年1月16日

@author: 吕毅

Email: 371725153@qq.com

Version: 1.0

Description: 输入用户名密码,认证成功显示欢迎信息,认证失败,输错三次后锁定

'''

import sys,os,getpass

os.system('clear') #把终端代码页面清空,提供个干净的视觉

i = 0

while i < 3: #只要用户登录异常不超过3次就不断循环

username = input("请输入用户名:")

lock_file = open('user_lock.txt','r+') #当用户输入用户名后,打开LOCK 文件 以检查是否此用户已经LOCK了

lock_list = lock_file.readlines()

for lock_line in lock_list: #循环LOCK文件

lock_line = lock_line.strip('\n') #去掉换行符

if username == lock_line: #如果LOCK了就直接退出

sys.exit('=======WARNING:该账号 %s 已经被冻结========' % username)

user_file = open('user_id.txt','r') #打开帐号文件

user_list = user_file.readlines()

for user_line in user_list: #对帐号文件进行遍历

(user,password) = user_line.strip('\n').split() #分别获取帐号和密码信息

if username == user: #如用户名正常匹配

m = 0

while m < 3: #只要用户密码异常不超过3次就不断循环

passwd = getpass.getpass('请输入密码:') #输入密码,相对安全

if passwd == password: #密码正确,提示欢迎登录

print('HI,%s,欢迎登录系统' % username)

sys.exit(0) #正常退出

else:

if m != 2: #m=2时,是最后一次机会,不用在提示还剩余0次机会了

print('用户 %s 密码错误,请重新输入,还有 %d 次机会' % (username,2 - m))

m += 1 #密码输入错误后,循环值增加1

else:

lock_file.write(username + '\n') #密码输入三次错误后,将该用户追加到LOCK文件

sys.exit('用户 %s 达到最大登录次数,请联系管理员!!' % username)

else:

pass #当用户没匹配时,跳过并继续循环

else:

if i != 2: #i=2时,是最后一次机会,不用在提示还剩余0次机会了

print('用户 %s 不存在,请重新输入,还有 %d 次机会' % (username,2 - i))

i += 1 #当用户输入错误时,循环值增加1

else:

sys.exit('用户 %s 不存在,退出' % username) #用户输入三次错误后,异常退出

lock_file.close() #关闭lock文件

user_file.close() #关闭user_id文件

雷电模拟器python编程接口_python:编写登陆接口(day 1)相关推荐

  1. 雷电模拟器python编程接口_【Python实践】_接口模拟器

    真正的稳定,是自己不断成长,不断寻找新的空间.与其要稳定,不如开始拥抱这个变化的时代,让自己准备好. python实践 [写在前面]: 周一的时候看mock,就萌发了搭建个mock server的冲动 ...

  2. 雷电模拟器python编程接口_【Python】雷电模拟器说明[附代码]

    [Python] 纯文本查看 复制代码class Dnconsole: # 请根据自己电脑配置 console = 'D:\\Changzhi\\dnplayer2\\dnconsole.exe ' ...

  3. python编程计算器_python编写计算器功能

    本文实现用python编写一个带界面的计算器小程序,当然这个计算器功能很简单,只能进行一些简单的数学运算,很适合初学者,希望能给大家带来一些启发 实验前提 因为是带图形界面的,所以用的版本是在wind ...

  4. python编程购物车_python编写购物车新写法

    用另一种方式完成购物车的功能实现 #!/usr/bin/python zijin = input("请输入资金:") if zijin.isdigit(): zijin = int ...

  5. python 编程服务_Python编写Windows Service服务程序

    如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32,自己去下 ...

  6. Day1 - Python基础1作业【编写登陆接口】

    1 # 作业:编写登陆接口 2 # 输入用户名密码 3 # 认证成功后显示欢迎信息 4 # 输错三次后锁定 5 import getpass 6 7 user = {'hepd':123456, 'h ...

  7. python登录注册接口_Python实现登录接口

    要求: 输入用户名和密码 认证成功,显示欢迎信息 用户名3次输入错误后,退出程序 密码3次输入错误后,锁定用户名 Readme: UserList.txt 是存放用户名和密码的文件,格式为:usern ...

  8. 同花顺股票交易接口的编写POST接口

    同花顺股票交易接口的编写POST接口 如果要获取URL-encoded格式的请求体数据,必须配置中间件app.use(express.urlencoded({extended:false}))

  9. python 编程接口_python编写接口的方法

    python编写接口的方法 发布时间:2020-08-06 10:33:18 来源:亿速云 阅读:64 作者:小新 小编给大家分享一下python编写接口的方法,希望大家阅读完这篇文章后大所收获,下面 ...

最新文章

  1. CenterNet2:比强更强的二阶段网络,COCO成绩最高达到56.4mPA
  2. 卸载后清理干净_想要清理你的Mac?选这几款软件就对了
  3. java jdk API中英文下载
  4. word文档老是出现这个提示-----“发现二义性的名称:TmpDDE”错误
  5. 关于游戏排行榜设计开发的一些总结
  6. 【TensorFlow】TensorFlow从浅入深系列之二 -- 教你通过思维导图深度理解深层神经网络
  7. 微信3.3.0 for Mac全新发布:新增视频号 可搜索微信号添加朋友
  8. 世界大学生超算竞赛正式启动,再次引发全球关注
  9. linux中线程的问题,linux中的线程问题
  10. Android ADB 你想要的都在这
  11. 送你一份万字机器学习资料
  12. UVA11107 Life Forms --- 后缀数组
  13. 牛腩新闻发布系统总结——网站发布和分页制作
  14. html将option设为默认,select设置option默认
  15. nginx SPDY 堆缓冲区溢出
  16. 志强:微商微信如何引流加人?
  17. 浏览器引擎系列:Webkit
  18. android—使用Expandable实现三级树形结构
  19. 欧洲批准最强粒子对撞机计划,造价210亿欧元,全长100公里,耗资巨大引争议...
  20. 弘辽科技:拒做“淘宝客”,可小红书的电商梦何以撑未来?

热门文章

  1. C++实现简易数据库
  2. JS获取页面数据并打印
  3. 基于Java的实时聊天系统设计与实现
  4. android开源项目大集合
  5. 计算机专业课程名称,计算机专业课程名称英文翻译
  6. (一) 常见异常的捕获 // // (1) 编写一个程序,分别生成ArrayIndexOutOfBoundsException类型和ArithmeticException类型的异常。
  7. 医学案例统计分析与SAS应用(笔记)一
  8. 行内块样式_现代块引用样式
  9. MyEclipse的使用小技巧,您get到了吗?
  10. 灰色系统理论及基于MATLAB应用(一)关联分析