Python之编写登陆接口

1.输入用户名密码;

2.认证成功后显示欢迎信息;

3.错误三次后,账号被锁定。

 

账号文件:user.txt 

锁定文件:locked.txt 

流程图如下:

# -*- coding:utf-8 -*-
# Author  Caoxl
import sysaccount_file='E:\user.txt'
locked_file='E:\locked.txt'def deny_account(username):print('您的用户已被锁定')with file(locked_file,'a') as deny_f:deny_f.write('\n'+username)def main():retry_count=0retry_limit=3                                   #循环次数while retry_count<retry_limit:                 #用户最多重复登陆3次username=raw_input('请输入您的用户名:')  #引导用户输入用户名with file(locked_file,'r') as  lock_f:#采用with打开方式,将locked_file赋值lock_f,防止忘记f.close()关闭文件for line in lock_f.readlines():       #循环遍历每一行的内容if len(line)==0:                  #对每一行内容进行处理continueif username == line.strip():#利用.strip这个函数去掉换行符,来对username进行匹配。sys.exit('用户已经被锁定!')if len(username)==0:        #提示用户登录时,用户名不能为空!print('用户名不能为空,请重新输入')continuepassword= raw_input('请输入您的密码:')    #引导用户输入密码with file(account_file,'r') as  account_f:flag= Falsefor line in account_f.readlines():user,pawd=line.strip().split()       #将用户名和对应密码进行处理if username==user and password==pawd: #判断用户名和密码print('success!')flag=Truebreak                      #退出for循环if flag==False:                       #避免用户在三次输入后,依然提示重新输入。if retry_count<2:print('您输入的用户名或密码有误,请重新输入!')retry_count+=1else:print('欢迎用户登陆成功!!')break# 加标志位是为了用户能够成功推出整个循环!
            deny_account(username)#对应上面的def函数把锁定账号加入文档中去if __name__ == '__main__':main()
View Code

 

转载于:https://www.cnblogs.com/caoxl/p/7144403.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好全的Android面试题

转载&#xff1a;http://www.jianshu.com/p/84ee896c3329 需求描述 各种新技术接触渠道比较狭窄, 面试没有底气。 常见面试知识点及回答没有较系统的准备&#xff0c;就业指导提供的资料没时间看&#xff0c;看了记不住。 面试没有经验, 不清楚面试前要做的各种准备、面试过程…

JavaSE--类加载器

参考&#xff1a;http://www.importnew.com/6581.html Java 编译器会为虚拟机转换源指令。虚拟机代码存储在以 .class 为扩展名的类文件中&#xff0c;每个类文件都包含某个类或者接口的定义和代码实现。这些类文件必须由一个程序进行解释&#xff0c;该程序能够将虚拟机的指令…

java netbeans 教程_NetBeans 教程

NetBeans IDE Java 快速入门教程第一章本章通过指导您创建一个简单的 "Hello World" Java 控制台应用程序&#xff0c;简要介绍 NetBeans IDE 工作流。学习完本教程后&#xff0c;您将对如何在 IDE 中创建和运行应用程序有一个基本了解。学习完本教程所需的时间不到 …

几个python小程序

python小程序 1-100求和 1 def Sum(x, y):2 return xy3 print reduce(lambda x,y:xy,range(1,101))4 5 i 16 j 07 while i < 101:8 j i j9 i 1 10 print j View Code输出1-100之间的奇偶数1 i 1 2 a [] 3 while i < 100: 4 if i%2 0: 5 …

Linux下git使用

一、安装 本人使用的是centos 7&#xff0c;首先安装git 1.下载git&#xff1a;wget https://Github.com/Git/Git/archive/v2.3.0.tar.gz 2.下载之后解压&#xff1a;tar xvf v2.3.0.tar.gz 3.进入解押文件目录&#xff1a;cd git-2.3.0 4.依次运行如下命令&#xff1a; ./conf…

java 水表识别_一种水表数字的AI智能识别方法与流程

本发明涉及模式识别与人工智能技术领域&#xff0c;特别涉及一种直观的水表数字的AI智能识别方法。背景技术&#xff1a;深度学习在目标检测的应用发展迅速&#xff0c;在YOLO(You Only Look Once)之后又出现了升级版本YOLOv2&#xff0c;采用的是Darknet-19作为基础网络&#…

mysql.w002_mysql简单例子

登陆数据库&#xff1a;mysql -u用户名 -p密码 -P端口 -h数据库地址‍‍‍‍‍‍修改mysql提示符&#xff1a;(仅本次连接有效)‍‍‍‍‍‍方法一&#xff1a;执行mysql -uroot -proot -prompt \h结果为&#xff1a;localhost方法二&#xff1a;进入mysql后&#xff0c;执行PR…

JQuery中的Deferred-详解和使用

首先&#xff0c;为什么要使用Deferred&#xff1f; 先来看一段AJAX的代码&#xff1a; 1 var data; 2 $.get(api/data, function(resp) { 3 data resp.data; 4 }); 5 doSomethingFancyWithData(data); View Code 这段代码极容易出问题&#xff0c;请…

【Eclipse】eclipse在线安装反编译插件

1.help->install new software 2.Add Name&#xff1a;jd-eclipse_update_site Location&#xff1a;http://jd.benow.ca/jd-eclipse/update 3.等待加载出来 4.持续点击下一步&#xff0c;直到完成。 转载于:https://www.cnblogs.com/flydkPocketMagic/p/7170283.html

Spring Boot 系列(一)快速入门

简介 Spring Boot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。通过这种方式&#xff0c;Spring Boot致力于在蓬勃发展的快速应…

1. 在虚拟机中 添加内容

步骤&#xff1a; 1. 找到要添加的内容&#xff0c;按住 ctrl c 复制 &#xff0c;例如&#xff1a;复制 飞秋 2. 打开 虚拟机&#xff0c;找到 要复制文件的位置。 3. 将 复制的文件添加到 共享文件夹下面。 4. 打开虚拟机&#xff0c;安装飞秋 5&#xff0c; 最后就完成了…

java web scala_spring boot+scala编写web接口

本人是Java开发者&#xff0c;有面向对象的基础&#xff0c;而Scala也是面向对象的语言&#xff0c;学习后可快速入门。通过学习Scala的面向对象(和java面向对象类似)、Scala的高级函数(map,reduce等&#xff0c;和Java8中的stream编程类似)、Scala的隐式转换(在Java中可通过sp…

java小应用_java小应用

第一次使用简书记笔记&#xff0c;主要目的是为了加深印象&#xff0c;方便忘记时及时翻看。hello.java代码如下&#xff1a;import java.applet.Applet;import java.awt.*;public class hello extends Applet{private Font f1;public void init(){f1 new Font("宋体&quo…

java做橡皮擦效果_HTML5 canvas橡皮擦擦拭效果

这是一款HTML5 canvas橡皮擦擦拭效果。该效果通过canvas来制作遮罩层和擦拭用的橡皮擦&#xff0c;用户可以通过移动鼠标来移除遮罩层&#xff0c;效果非常炫酷。因为发代码有时会排版混乱&#xff0c;所以先发图演示了。源码已经打包好了&#xff0c;想学习的朋友可以下载练习…

mysql to mssql_MysqlToMsSql

MysqlToMsSql是一款简单易用的数据库迁移工具&#xff0c;这款软件功能强大&#xff0c;可以帮助用户将MySQL数据库内容转移到msSQL数据库中&#xff0c;采用可视化操作&#xff0c;支持预览&#xff0c;方便用户查看数据库&#xff0c;实用性强&#xff0c;有需要的用户快来下…

java延迟覆盖_高效Java第九条覆盖equals时总要覆盖hashCode

原标题&#xff1a;高效Java第九条覆盖equals时总要覆盖hashCode高效Java第九条覆盖equals时总要覆盖hashCode在每个覆盖了equals方法的类中&#xff0c;也必须覆盖hashCode方法。否则会导致该类无法与基于散列的集合一起正常运作。 hashCode约定在应用程序的执行期间&#xff…

原生js简单实现双向数据绑定原理

根据对象的访问器属性去监听对象属性的变化&#xff0c;访问器属性不能直接在对象中设置&#xff0c;而必须通过 defineProperty() 方法单独定义。 访问器属性的"值"比较特殊&#xff0c;读取或设置访问器属性的值&#xff0c;实际上是调用其内部特性&#xff1a;get…

java中write方法报错_Java中管道报错:Write end dead

今天看了下关于管道的通信&#xff0c;Java中的管道只能在同一进程的不同线程间通信。今天测试两个线程进行通信发现报错。下面是我测试的代码。package com.wpl.testIO;import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;public …

神盾局特工第四季/全集Agents Of SHIELD迅雷下载

英文全名Agents Of SHIELD&#xff0c;第4季(2016)ABC. 本季看点&#xff1a;《神盾局特工》&#xff08;Agents Of SHIELD&#xff09;第三季季终集里&#xff0c;我们终于知道谁死了……但死的不是一个&#xff0c;而是两个。在这两集中&#xff0c;很多角色都遭遇过险境&…

php科学计数法转string,php如何将科学计数法转数字

php将科学计数法转数字的实现方法&#xff1a;首先通过if语句判断指定的数值是否为科学计数法&#xff1b;然后提取科学计数法中有效的数据&#xff1b;接着正式处理该数据&#xff1b;最后调用“convert_scientific_number_to_normal”方法实现转换即可。PHP将科学计数法转换为…