作业需求:

编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

实现思路:

1.从文件获取用户名密码

2.判断是否在黑名单中

3.验证用户名密码

成功:输出认证成功

错误:判断验证次数,超过3次写入黑名单

userinfo.txt文件格式

{"name":"alex","password":"abc123"}
{"name":"songkunhuang","password":"abc123"}
 # -*- coding: utf-8 -*-
"""
Created on 10:32 2017/7/27
@author: Song
@E-mail: songkunhuang@163.com """
# 输入用户名密码 验证信息从文件读取
# 认证成功显示欢迎信息
# 输错三次,锁定用户 保存到文件 黑名单 # 解析用户文件 json eval
userinfo_file = open("userinfo.txt","r")
user_list = []
for user in userinfo_file.readlines():
user = user.replace("\n", "")
user_list.append(eval(user)) # 读取黑名单
blackuserlist_file = open("blackuserlist.txt","w+")
black_list = []
for blackuser in blackuserlist_file:
blackuser = blackuser.replace("\n", "")
black_list.append(blackuser) def sucess(name):
print("welcome",name)
exit() count = 3
flag = 0
while count > 0:
username_input = input("Username:")
password_input = input("Password:")
if username_input in black_list:
print("账户已经被锁定")
else:
for i in user_list:
if username_input == i.get("name") and password_input == i.get("password"):
flag = 1
print("认证成功")
sucess(name=username_input)
break if flag == 0:
count = count - 1
if count > 0:
print("认证失败,你还可以尝试 %d 次" % count)
else:
for i in user_list:
if username_input == i.get("name"):
blackuserlist_file.write("".join([username_input, "\n"]))
print("%s 账户已经锁定" % username_input)
print("无法尝试") userinfo_file.close()
blackuserlist_file.close()

Python作业--登录接口的更多相关文章

  1. (转)python编写登录接口

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

  2. Day1作业---登录接口及多级菜单

    #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Ma Qing data = { "山东" :{ "济南&qu ...

  3. Python+request 登录接口reponse的返回值token跨py文件的传递《二》

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

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

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

  5. day1作业--登录接口

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定     知识: 1.循环的使用: 2.continue,break在循环中中断的作用: 3.文件的写入,读取: 4.各基础知 ...

  6. Python之登录接口

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

  7. day1作业登录接口总结

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 上面作业,用了几种思路来解决问题:但是本质上其实都是一样的:核心都是对文件的操作,文件的增删改查:并且这些操 ...

  8. 8.Python编写登录接口

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

  9. Python实现登录接口

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

随机推荐

  1. IOS Post请求(请求服务器)

    @interface HMViewController () @property (weak, nonatomic) IBOutlet UITextField *usernameField; @pro ...

  2. dotNetFx40_Client_x86_x64和dotNetFx40_Full_x86_x64这两个有什么区别?两个都要安装还是安装其中一个?

    这个是NET Framework 4.0的安装文件它是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件,很多基于此架构的程序需要它的支持才能够运行.简单的 ...

  3. 2018年第九届蓝桥杯【C++省赛B组】第四题 测试次数

    x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机.各大厂商也就纷纷推出各种耐摔型手机.x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通.x星球 ...

  4. spring boot1.5.6 测试类

    package com.qutaoyao.demo.web; import com.qutaoyao.demo.web.controller.HelloController;import org.ju ...

  5. Could not autowire. No beans of 'TbAssetsMapper' type found. less... (Ctrl+F1) Inspection info:Checks autowiring problems in a bean class.

    报错:Could not autowire. No beans of 'TbAssetsMapper' type found. less... (Ctrl+F1) Inspection info:Ch ...

  6. FTP服务安装及使用

    准备工作:一台服务器.我这里使用的是阿里云的ECS. 环境使用的是:windows 2008 r2 用途:FTP是用来进行文件传输的,我们可以把这个目录在IIS上配置成发布的网站,我们在本地只用把我们 ...

  7. EBS R12中FND凭证打印警告:OPP响应超时

    接近年关,最近年结忙的飞起,此为背景,今天运维那边反应日记账凭证打印报错,看了下后台请求发现请求有警告. 查看日志发现报了“并发:OPP响应超时”的警告,这个地方响应超时可能是配置文件中“并发:OPP ...

  8. 【iOS】史上最全的iOS持续集成教程 (上)

    :first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdow ...

  9. Python 初始—(函数·)

    过程是没有返回值的函数,有一系列的函数组合和逻辑功能结合即为过程: def 定义函数: def 函数名(): print("") 位置参数和关键字调用,根据位置参数优先,关键字参数 ...

  10. ES6初识-Decorator

    开始先按照个插件 npm install babel-plugin-transform-decorators-lagacy --save-dev 1.扩充和修改类的行为 2.修改的行为@readonl ...