• 编写的一个登录接口


    逻辑图如下:

    代码如下:
     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:PyProjectLoginDataUserInfo.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:PyProjectLoginDataUserInfo.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()
     
  • 相关阅读:
    腾讯2014 笔试
    iOS 并发编程之 Operation Queues
    iOS 架构
    loadView and viewDidLoad?
    Referring to weak self inside a nested block
    Weakify和strongify探究
    iOS开发的最佳实践
    iOS 书籍
    Object-C非正式协议与正式协议的区别
    解决element-ui中el-menu组件作为vue-router模式在刷新页面后default-active属性与当前路由页面不一致问题的方法
  • 原文地址:https://www.cnblogs.com/elleblog/p/7747554.html
Copyright © 2020-2023  润新知