码迷,mamicode.com
首页 > 编程语言 > 详细

Python随笔1《实现简单的登录接口》

时间:2017-09-24 16:24:23      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:family   函数   超过   用户密码   成功   硬盘   mit   break   font   

使用Python的基础知识实现一个登陆接口是非常容易的

一、分析如何实现

程序实现的步骤:

step1:提示用户输入账户密码

step2:判断账户是否在黑名单,0转step3;1转提示账户锁定,结束程序

step3:初始化输入次数

step4:如果输入次数不超过3次,循环

step5:如果账户密码匹配正确,提示成功,结束程序;否则提示错误,剩余输入次数

step6:输入次数大于三次,锁定用户,结束程序

二、程序清单

import sys                                           #载入sys模块是用于结束程序
account_file="admin.txt" #存用户密码在硬盘中
locked_file="blacklist.txt" #存黑名单
def deny_account(name): #定义函数用于打印
print("您的用户被锁定!")
with open(locked_file,"a") as deny_f:
deny_f.write("\n"+name)
def main(): #定义主函数
retry_count = 0 #初始化计数
retry_limit = 3 #次数限制变量
while retry_count< retry_limit:
name = input("请输入用户名:")
if len(name) == 0:
print("清重新输入,用户名不能为空") #输入为空的处理
continue
with open(locked_file) as lock_f: #检测是否在黑名单
for line in lock_f.readlines():
if len(line)==0:
continue
if name == line.strip():
sys.exit("用户%s已经被锁定!" %name)

password = input("请输入密码:")
with open(account_file,"r") as account_f: #检测是否匹配
Flag = False
for line in account_f.readlines():
user,pw = line.strip().split()
if name == user and password == pw:
print("登陆成功")
Flag = True
break
if Flag ==False: #设置Flag变量的意义是方便计数
if retry_count < 3:
print("您输入的用户或者密码有错误,您还有%d次机会" %(3-retry_count))
retry_count +=1 #此句放在if里面和外面会导致计数偏差
else:
break
else:
deny_account(name)
if __name__=="__main__": #当文件自己执行的时候调用主函数
main()

 

Python随笔1《实现简单的登录接口》

标签:family   函数   超过   用户密码   成功   硬盘   mit   break   font   

原文地址:http://www.cnblogs.com/WateredStone/p/7587244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!