要求:

输入用户名和密码

认证成功,显示欢迎信息

用户名3次输入错误后,退出程序

密码3次输入错误后,锁定用户名

Readme:

UserList.txt 是存放用户名和密码的文件,格式为:username: password,每行存放一条用户信息

LockList.txt 是存放已被锁定用户名的文件,默认为空

用户输入用户名,程序首先查询锁定名单 LockList.txt,如果用户名在里面,提示用户被锁定,并退出程序

如果用户名不在锁定名单里,程序将查询用户名单 UserList.txt ,如果用户名不在里面,将提示用户不存在,请重新输入,三次输入错误,将退出程序

如果用户名在用户名单里,将提示用户输入密码,密码正确,显示欢迎信息;3次输入错误,将锁定此用户名(写入锁定名单)

流程图:

代码:

# Joe Young

import os, sys, getpass

os.system('cls') #调用os模块的system方法传入'cls'参数,清屏

count = 0 #用户名登录次数计数

while count < 3:

username = input('username:')

lock_file = open('LockList.txt', 'r+') #打开LockList.txt文件,权限r+(打开用于读和写文件。文件指针置于该文件的开头)

lock_list = lock_file.readlines() #使用readlines()方法逐行读取LockList.txt,生成列表,并赋值给lock_list

for lock_line in lock_list:

if username == lock_line.strip('\n'): #使用strip()方法去掉换行符,判断username是否在LockList.txt

print('用户名 %s 已被锁定,请联系管理员...' %(username))

sys.exit(1) #sys模块的exit()方法表示退出

with open('UserList.txt', 'r') as user_file: #打开UserList.txt,权限只读

user_list = user_file.readlines() #逐行读取UserList.txt文件,赋值给user_list变量

for user_line in user_list:

(user, passwd) = user_line.strip('\n').split(': ') #获取user,passwd的值,用split(': ')实现分割字符串

if user == username: #判断用户名是否在UserList.txt文件内

n = 0 #密码输入次数计数

while n < 3: #3次输入机会

password = getpass.getpass('password:') #使用getpass模块的getpass()方法获取用户输入的密码

if password == passwd: #判断密码是否匹配

print('欢迎 %s 登陆系统!' %(username))

sys.exit(0)

else:

if n != 2: #n=2时,是最后一次机会,不需要提示还剩下0次机会

print('密码错误,请重新输入,您还有 %d 次机会\n' %(2-n))

n += 1 #密码输入错误,次数+1

else:

lock_file.write(username + '\n') #密码输入错误次数达到3次,把用户名写入LockList.txt文件,锁定用户名

sys.exit('错误次数过多,用户名已被锁定...')  #程序退出,并输出提示

else: #用户名不存在,执行else语句

if count != 2: #count=2时,是最后一次输入用户名的机会,不用提示还剩下0次机会了

print('用户名不存在,请重试,您还有 %d 次机会\n' %(2-count))

count += 1 #用户名输入错误,count+1

else: #用户名输入错误次数达到3次

sys.exit('输入次数过多,程序已退出...') #退出程序,并输出提示

lock_file.close() #关闭LockList.txt文件

&lpar;转&rpar;python编写登录接口

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...

Python&plus;request 登录接口reponse的返回值token跨py文件的传递《二》

主要使用场景: 一般我们在进行接口测试时,依赖登录接口后reponse中的某些返回值,因此需要将login接口单独写一个py文件,另外的py文件均可调用login的reponse返回值使用.共用登录接 ...

Python&plus;request 登录接口reponse中token传递给其他接口使用,小示例介绍《一》

要求: 1.调用登录login 2.调用通过登录接口返回的reponse中的token和uuid,实现test_create_todo接口的测试 实现: 1.login登录接口的调用,直接填写对应的U ...

Python之登录接口

要求 1.输入用户名密码2.认证成功后显示欢迎信息3.输错三次后锁定 思路 没有数据库,这里使用本地文件,一共需要两个文件:       黑名单的文件:黑名单里检测,不让登录     用户信息文件:将 ...

8&period;Python编写登录接口

1.python需安装flask,在命令行窗口输入:pip3 install flask 2.代码如下所示: from flask import Flask,request,jsonify,sessi ...

Python作业--登录接口

作业需求: 编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 1.从文件获取用户名密码 2.判断是否在黑名单中 3.验证用户名密码 成功:输出认证成功 错误:判断验证次 ...

python编写登录接口

要求: 输入用户名密码     认证成功显示欢迎信息 输错三次以后锁定 代码如下: # Author:YKwhile(True): select=input('请问是注册还是登录') if selec ...

python 测试登录接口只返回response200的问题

但是使用postman测试是有json串的 后来发现postman传参是用的raw格式,raw的格式相当于json 而这里的data其实是form-data格式,需要用json的格式

随机推荐

tonado框架的列表嵌套 (template中for循环嵌套)

学习了tonado框架,渐渐开始明白模板的转换,以后肯定还会遇到很多问题... 功能描述:       页面显示读取的数据库父导航名称,再通过嵌套列表将子导航名称和地址查询出来,返回到 ...

ZOJ 3903 Ant ZOJ Monthly&comma; October 2015 - A

Ant Time Limit: 1 Second      Memory Limit: 32768 KB There is an ant named Alice. Alice likes going ...

在HTML5规范中div中读取预存的data-&lbrack;key&rsqb;值

HTML 代码:

浅淡Windows7 32位与64位&sol;x86与x64的区别

看到有很多会员问到底是选Windows7 x86,还是选x64.这里简单的谈一下这这两种系统的区别. 简单的说x86代表32位操作系统  x64代表64位操作系统. 简单的判断电脑是否支持64位操作系 ...

Numpy基础笔记

Numpy简介 Numpy(Numerical Python的简称)是高性能科学计算和数据分析的基础包.其部分功能如下: ①ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 ...

Remove Duplicates from Sorted List leetcode java

题目: Given a sorted linked list, delete all duplicates such that each element appear only once. For e ...

快速排序 java实现 &lpar;原理-优化&rpar; 三路快排

一.基本的快速排序 在数组中选取一个元素为基点,然后想办法把这个基点元素移动到它在排好序后的最终位置,使得新数组中在这个基点之前的元素都小于这个基点,而之后的元素都大于这个基点,然后再对前后两部分数组 ...

js判断值是否是数字

js如何判断值是否是数字 1. isNaN()方法2. 正则表达式var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$ ...

用最简单的MVC模式输出内容

MVC是模型(model)-视图(view)-控制器(controller)的缩写,它的作用是使代码分离,可维护性高.重用性高 编写Model层: <?php class model{ publ ...

python登录注册接口_Python实现登录接口相关推荐

  1. Vue登录注册,并保持登录状态

    关于vue登录注册,并保持登录状态,是vue玩家必经之路,网上也有很多的解决方法,但是有一些太过于复杂,新手可能会看的一脸懵逼,现在给大家介绍一种我自己写项目在用而且并不难理解的一种方法. 项目中有一 ...

  2. Vue登录注册,并保持登录状态 1

    关于vue登录注册,并保持登录状态,是vue玩家必经之路,网上也有很多的解决方法,但是有一些太过于复杂,新手可能会看的一脸懵逼,现在给大家介绍一种我自己写项目在用而且并不难理解的一种方法. 项目中有一 ...

  3. java优化登录注册,Java-Web(项目)优化登录注册

    Java-Web(项目)优化登录注册 Java-Web(项目)优化登录注册 实现代码: package com.homework.dao1; public interface Login { publ ...

  4. python做一个登录注册界面_Python 实现简单的登录注册界面

    Python 实现简单的登录注册界面 注意:编写代码之前需要导入很重要的包 import tkinter as tk import pickle from tkinter import message ...

  5. python做一个登录注册界面_python做一个登录注册界面的方法

    python做一个登录注册界面的方法 发布时间:2020-08-21 10:37:05 来源:亿速云 阅读:111 作者:小新 这篇文章主要介绍python做一个登录注册界面的方法,文中介绍的非常详细 ...

  6. python 测试用例管理 生成_python自动生成接口测试用例

    在python中Template可以将字符串的格式固定下来,重复利用. 同一套测试框架为了可以复用,所以我们可以将用例部分做参数化,然后运用到各个项目中. 代码如下: coding=utf-8 ''' ...

  7. python flask框架下登录注册界面_Python-用户登录 Flask-Login

    用户登录功能是 Web 系统一个基本功能,是为用户提供更好服务的基础,在 Flask 框架中怎么做用户登录功能呢?今天学习一下 Flask 的用户登录组件 Flask-Login Python 之所以 ...

  8. python网站自动答题_python自动登录网站答题-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 cookie实现 自动 登录 ...

  9. 雷电模拟器python编程接口_python:编写登陆接口(day 1)

    作业要求: 输入用户名,密码 认证成功显示欢迎信息 输入错误三次后锁定用户 Readme 1.user_id.txt是存放用户id及密码的文件 2.user_lock.txt是存放被锁定的用户id的文 ...

最新文章

  1. linux执行命令时报错:permission denied
  2. 【PC工具】文件压缩解压工具winrar解压缩装机必备软件,winRAR5.70免费无广告
  3. 窗口刷新 Invalidate UpdateWindow RedrawWindow
  4. Facebook全面推出Watch Party,可多人线上同看直播视频
  5. POJ - 3358 Period of an Infinite Binary Expansion(欧拉定理)
  6. Java Map集合
  7. SpringMVC实战(注解)
  8. for循环c语言流水灯,巧用数组与for循环为流水灯程序瘦身
  9. android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】
  10. 是、大于等于_血压高,是不是等于患上高血压?吃药之前,先搞清楚
  11. python集合常用方法_Python 集合常用方法总结
  12. Unity3d札记 --TanksTutorial收获与总结
  13. [21] Mesh法线的生成算法
  14. android手机如何设置提高网速,安卓手机设置网络速度的详细操作步骤
  15. Alictf2014 Writeup
  16. 行人重识别论文阅读6-低分辨率的行人重识别研究
  17. react脚手架搭建
  18. linux下doc转docx
  19. mermaid与flowchart.js绘制流程图分支结构试验
  20. android sdk版本8.0,把targetSdkVersion设置为26(Android 8.0)需要注意的地方

热门文章

  1. QQ漂流瓶,有点意思
  2. mysql sql field list_使用MySQL数据库出现Unknown table 'hibernate_sequence' in field list
  3. 【Exception】微信小程序,配置普通链接二维码规则 文件校验失败问题 校验文件检查失败 扫普通链接二维码打开小程序
  4. lpush和rpush的区别_关于redis之lpush、rpush、lset、lrem
  5. html密码浏览器不自动登录,IE浏览器不能自动登录怎么解决|IE浏览器不能记住密码怎么办...
  6. Error in library(nutshell) : 不存在叫‘nutshell’这个名字的程辑包
  7. 互动教学场景下的视频直播线上研讨会应用(组图)
  8. 推荐系统:协同过滤collaborative filtering
  9. vue打包npm run build时候界面报错
  10. 不会吧不会吧,关系代数都不了解,还想优化 SQL 吗?