用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. android中include标签使用详解

    android中include标签是为了便于控件的覆用的一个很好解决方案.   但是也有一些需要注意的地方,下面是本人在项目中碰到过的一个问题,做此记录,便于以后查看.   include标签用法. ...

  2. netstat/ps用法

    1.netstat 语法     命令1:netstat -antp | grep :80(查看80端口被哪个服务占用)or netstat -antpuel  | grep ":22&qu ...

  3. c语言一,二数组

    一.PTA实验作业 题目1:7-4 简化的插入排序 1. 本题PTA提交列表 2. 设计思路 1.定义整形变量N,temp,i. 2.输入N 3.通过for(i=1;i<=N;i++)的循环语句 ...

  4. python 一致性哈希 分布式

    hash_ring # -*- coding: utf-8 -*- """ hash_ring ~~~~~~~~~~~~~~ Implements consistent ...

  5. Log4j详细教程

    一.入门实例 1.新建一个JAva工程,导入包log4j-1.2.17.jar,整个工程最终目录如下 2.src同级创建并设置log4j.properties ### 设置### log4j.root ...

  6. 解决vue2.0路由 TypeError: Cannot read property 'matched' of undefined 的错误问题

    刚开始使用vue-router2.0,虽然也用了vux,用起来却发现一个问题--具体如下: 正常情况下使用脚手架跑完之后,然后修改源项目,首先在main.js入口里把该import进去的vuex,vu ...

  7. 第二篇:利用shell脚本执行webservice请求——基于soap

    1. 项目背景 以往我们在开发基于webservice的项目中,我们总习惯于直接使用webservice的一些框架,如Axis,axis2和Xfire等.框架的好处是将webservice所涉及到的s ...

  8. 【非官方】Surging 微服务框架使用入门

    前言 本文非 Surging 官方教程,只是自己学习的总结.如有哪里不对,还望指正. 我对 surging 的看法 我目前所在的公司采用架构就是类似与Surging的RPC框架,在.NET 4.0框架 ...

  9. LeetCode & Q122-Best Time to Buy and Sell Stock II-Easy

    Description: Say you have an array for which the ith element is the price of a given stock on day i. ...

  10. javascript递归函数

    递归函数:是指函数直接或间接调用函数本身,则称该函数为递归函数. 这句话理解起来并不难,从概念上出发,给出以下的例子: function foo(){ console.log("函数 foo ...