编写的一个登录接口

逻辑图如下:

 


代码如下:
 1 # -*- coding:utf-8 -*-
 2 # 此程序用于实现以下功能:
 3 # 需求内容:编写登录接口
 4 # 1、输入用户名密码
 5 # 2、认证成功后显示欢迎信息
 6 # 3、输错三次后锁定
 7 # 作者:Elle
 8 # 编写日期:2017年10月28日
 9 
10 import xlrd
11 from xlutils.copy import copy
12 
13 def Login():
14     UserInfoTable = xlrd.open_workbook("D:\PyProject\Login\Data\UserInfo.xls",formatting_info=True)
15     Data = UserInfoTable.sheets()[0]
16     # 将excel表格中的所有用户数据及所在的行的index存入字典。
17     UserInfo = {}
18     for i in range(1,Data.nrows):
19         for j in range(1,Data.ncols):
20             UserInfo.setdefault(Data.cell(i,0).value,[]).append(Data.cell(i,j).value)
21         UserInfo.setdefault(Data.cell(i, 0).value, []).append(i)
22     # 校验输入的用户名是否为空,是否存在于用户数据的字典中
23     UserName = raw_input("Please input your Login Name:")
24     if UserName is "":
25         UserName = raw_input("Please input the correct Login Name:")
26     if UserName not in UserInfo.keys():
27         print "The Login Name is not Correct"
28         return
29     # 校验用户是否已经被锁
30     if UserInfo[UserName][1] == "1":
31         print "Your Login Name is locked,Please contact the service."
32         return
33     else:#允许输入3次密码,错误三次后锁定用户
34         for WrongTime in range (0,3):
35             PassWord = raw_input("Please input your password:")
36             if PassWord == UserInfo[UserName][0]:
37                 print "Login Success."
38                 return
39             elif WrongTime == 2:
40                 NewUserInfoTable = copy(UserInfoTable)
41                 NewUserInfoData = NewUserInfoTable.get_sheet(0)
42                 NewUserInfoData.write(UserInfo[UserName][2],2,"1")
43                 NewUserInfoTable.save("D:\PyProject\Login\Data\UserInfo.xls")
44                 print "Input Wrong PassWord 3 times,your Login Name is Locked,Please contact service."
45                 return
46 
47 if __name__=="__main__":
48     Login()
 

转载于:https://www.cnblogs.com/elleblog/p/7747554.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值