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,一经查实,立即删除!

相关文章

java符号引用 直接引用_Java -- JVM的符号引用和直接引用

Java -- JVM的符号引用和直接引用在JVM中类加载过程中&#xff0c;*在解析阶段&#xff0c;Java虚拟机会把类的二级制数据中的符号引用替换为直接引用。*1.符号引用(Symbolic References)&#xff1a;符号引用以一组符号来描述所引用的目标&#xff0c;符号可以是任何形式的字面…

Arduino学习笔记24

指导学生编程练习转载于:https://www.cnblogs.com/guochaoxxl/p/7148006.html

好全的Android面试题

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

JavaSE--类加载器

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

Linux下汇编语言学习笔记13 ---

这是17年暑假学习Linux汇编语言的笔记记录&#xff0c;参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译《汇编语言基于Linux环境》的书&#xff0c;喜欢看原版书的同学可以看《Assembly Language Step-By-Setp:Programming with Linux 3rd Edition》&#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 …

java输出a-z_有1-26个数字和a-z字母,用Java多线程实现先输出2和数字再输出2个字

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼public class Z extends Thread{char[] letters new char[]{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z};public static void main(String[] args){Z z new Z();X x new X();x.start();z.start();}public void run()…

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作为基础网络&#…

Summary Day30

1.内存管理 1.1 进程中的内存区域划分 代码区 仅仅读常理区 全局区 BSS 堆 栈 1.2 字符串存储形式之间的比較 字符指针&#xff0c;字符数组。字符动态内存 1.3 虚拟内存管理技术 Unix/Linux系统总的内存都是採用虚拟内存管理技术进行管理。即&#xff1a;每一个…

java装箱和拆箱_java自动装箱和拆箱

这个是jdk1.5以后才引入的新的内容&#xff0c;作为秉承发表是最好的记忆&#xff0c;毅然决定还是用一篇博客来代替我的记忆&#xff1a;java语言规范中说道&#xff1a;在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装成为装箱&#xff0c;解包装称为拆箱)&a…

java 插桩 工具_一个基于Eclipse的通用Java程序插桩工具.pdf

第38卷第7期 计算机科学 V01&#xff0e;38NO&#xff0e;7Science 20112011年7月 Computer July一个基于Eclipse的通用Java程序插桩工具郑晓梅(南京中医药大学信息技术学院 南京210046)(南京大学计算机软件新技术国家重点实验室 南京210093)摘要插桩技术作为一种有效理解程序动…

【FICO 汇率】汇率

汇率存储的表位TCURR 汇率维护的事务代码为&#xff1a;OB08 每一种货币汇率都有很多版本&#xff0c;按照时间有效性管理 汇率涉及的两种货币&#xff0c;第一个为从&#xff0c;第二个为到&#xff0c;一般换算比率都是1&#xff0c;但也有不是1的情况&#xff08;主要是换算…

java 新窗口跳转页面_Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开...

最近学习Java web&#xff0c;在学习过程中想实现一个需求&#xff0c;就是在jsp页面跳转的时候&#xff0c;希望跳转后的新页面在新窗口中打开&#xff0c;而不是覆盖原来的页面&#xff0c;这个需求使我困惑了好长时间&#xff0c;后来通过大海捞针似的在网上寻找方法&#x…

分辨率到底是个什么概念?它和DPI之间是什么关系?

"分辨率"到底是个什么概念&#xff1f;它和DPI之间是什么关系&#xff1f; 分辨率&#xff1a;显示分辨率&#xff08;屏幕分辨率&#xff09;是屏幕图像的精密度&#xff0c;是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的&#xff0c;显…

mysql.w002_mysql简单例子

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

mysqli mysql的区别_phpmysqli和mysql区别详解

本文介绍下&#xff0c;php中有关mysqli与mysql类的一些区别&#xff0c;有需要的朋友&#xff0c;可以作个参考哦。一&#xff0c;PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension &#xff0c;PHP-MySQLi 的 i 代表 Improvement &#xff0c;提更了相对进阶的功能。PD…

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;请…

ps aux grep java_linux命令ps-aux监控java进程

linux下用ps -aux可以监控java的进程情况。linux根据内核的不同对每个进程分配的最大使用内存不同&#xff0c;如果是32位机器&#xff0c;cpu最大的寻址空间是2的32次方&#xff0c;4G&#xff0c;但内核分配给每个进程最大的内存肯定是小于4G&#xff0c;经过重新编译的内核分…