用Python编写一个简单的登陆接口
要求
1,输入用户名密码
2,认证成功后显示欢迎信息
3,输错3次后用户锁定
blacklist.txt内容
zhaoyi
qianer
sunan
lisi userlist.txt内容
zhouwu 123456
wuliu 123456
zhengqi 123456
www 123456 # -*- coding:utf-8 -*-
import os,sys
for i in range(3):                              #进行3次循环
blacklist = open(r"C:\Users\Pc4\Desktop\blacklist.txt", 'r')   #打开文件
name = input('plese input your name:')
list = blacklist.readlines()                      #把文件内容读取成为列表形式
for lock in list:
lock = lock.strip('\n')                      #去掉字符串后面的回车
if name==lock:                            #判断输入的名字是否在黑名单
print('The user is locked')
blacklist.close()                        #关闭黑名单文件
sys.exit()                           #退出程序
blacklist.close()                             #如果输入的用户名不在黑名单,关闭文件
userlist = open(r'C:\Users\Pc4\Desktop\userlist.txt', 'r')     #打开用户文件
user_list = userlist.readlines()                    #把用户读取到列表
dict_usermane = {}                            #创建一个空的字典
for user in user_list:
(username,password) =user.strip().split()       #把列表的内容进行切片
dict_usermane[username]=password       #把用户名和对应的密码存到字典
username_list = dict_usermane.keys()       #把字典中的用户名取出,做成一个单独的列表
while name in username_list:                      #判断输入的用户名是否在用户名列表
passwd = input('plese input your password:')
if passwd == dict_usermane.get(name):               #判断用户名对应的密码
print('welcome to this system!')
sys.exit()
else:
print('your password is wrong.')
i=i+1
if i == 3:
blacklist = open("C:/Users/Pc4/Desktop/blacklist.txt",'a+')
blacklist.write(name + '\n')       #当出入三次错误密码后把用户添加到黑名单
blacklist.close() userlist = open("C:/Users/Pc4/Desktop/userlist.txt", 'r')
lines = userlist.readlines()
newuserlist = open("C:/Users/Pc4/Desktop/userlist.txt", 'w+')
for line in lines:
if name in line:
continue
newuserlist.write(line)              #把输错的用户从用户文件中删除
userlist.close()
newuserlist.close() sys.exit(1)
else:
print('don\'t have the user')                   #如果输错用户名显示没有用户

python 作业 编写登陆接口的更多相关文章

  1. python之编写登陆接口(第一天)

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 针对此实例写了有二种类型的脚本,略有不同,具体如下: 帐号文件account.txt内容如下: sam 123 david ...

  2. Python之编写登陆接口

    1.输入用户名密码: 2.认证成功后显示欢迎信息: 3.错误三次后,账号被锁定. 账号文件:user.txt 锁定文件:locked.txt 流程图如下: # -*- coding:utf-8 -*- ...

  3. python 之编写登陆接口

    基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序尝试登录时, ...

  4. Python学习之编写登陆接口(Day1,作业一)

    作业一:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定(下次登陆还是锁定) 知识点:while循环,for循环,文件操作,if判断,列表操作 思路: 1.登陆,三次登陆失败,锁定 ...

  5. day1作业:编写登陆接口

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 思路:要求是编写登陆接口,那么要有一个存放用户信息的模块:三次后锁定,要有一个存放锁定用户信息的模块:我们知 ...

  6. day1作业一:编写登陆接口

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 Readme: (1)提示用户输入用户名: (2)用户名验证,验证是否已经锁定: (3)是否锁定:已锁定告诉 ...

  7. 使用 Python 编写登陆接口

    # 使用 Python 编写登陆接口# Create Date: 2017.10.31 Tuesday# Author: Eric Zhao# -*- coding:utf-8 -*-'''编写登陆接 ...

  8. Python学习第一天-编写登陆接口

    编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 帐号文件user.txt内容如下: qaz 123qwe 12345qweqwr 12321424...... 锁文件user_l ...

  9. Python之编写登录接口

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 帐号文件account.txt内容如下: liuyueming 123zhangsan 123lisi 123 锁文件acc ...

随机推荐

  1. 每日冲刺报告——Day2(Java-Team)

    第二天报告(11.3  周五) 团队:Java-Team 成员: 章辉宇(284) 吴政楠(286) 陈阳(PM:288) 韩华颂(142) 胡志权(143) github地址:https://git ...

  2. 201621123050 《Java程序设计》第7周学习总结

    1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. 1.事件:用户的操作,例如点击或输入之类的操作 2. ...

  3. 冲刺No.3

    Alpha冲刺第三天 站立式会议 项目进展 今日团队对CSS与JS的基础知识进行了应用,并对网站的UI设计进行了讨论,对数据库设计进行了进一步的探讨,基本确立了各个表单的结构和内容.分割出项目基本模块 ...

  4. Linux进程间通信--信号量

    信号量绝对不同于信号,一定要分清,关于信号,上一篇博客中已经说过,如有疑问,请移驾! 信号量 一.是什么   信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件 ...

  5. ord在python是什么意思?

    >>> help(ord)Help on built-in function ord in module builtins:ord(...) #这是一个函数 ord(c) -> ...

  6. Linux 目录与文件管理

    1. 目录与路径1.1 相对路径与绝对路径1.2 目录的相关操作: cd, pwd, mkdir, rmdir1.3 关于执行文件路径的变量: $PATH2. 档案与目录管理2.1 档案与目录的检视: ...

  7. rcnn fast-rcnn faster-rcnn资料

    ---恢复内容开始--- 框架:https://github.com/rbgirshick 论文:链接: https://pan.baidu.com/s/1jIoChxG 密码: ubgm faste ...

  8. String s=new String("abc")产生了几个对象?[权威面试版]

    以下总结是我逛论坛 将零零碎碎的知识整理起来,方便自己记忆和阅读,顺便分享出来给大家学习. 若 String s=new String("abc"); 为第一句代码 则会产生两个对 ...

  9. thinkphp框架的大D方法应用

    大D方法中需要传递一个模型,比如UserModer,就传递D('User'),而数据库中存在一个表比如think_user,其中think就是前缀. 在UserModel里面存在自动验证.自动完成可以 ...

  10. C++ 异常小记

    catch必定使用拷贝构造函数 如下代码编译不通过,因为拷贝构造被标记delete #include <stdexcept> #include <cstdlib> #inclu ...