Python实现简单的登陆接口

要求:

1.输入用户名密码

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

3.输错三次后锁定

实现的代码如下:

#  -*- coding: utf-8 -*-
"""
@Author:yhf1995
@time:2020/1/28 9:41
"""
from openpyxl import load_workbook
# 从openpyxl 导入 load_workbook

user_excel = load_workbook(r"user_password.xlsx")
# 导入整个excel工作簿,excel表格分为工作簿、sheet表单和单元格
user_list = user_excel.get_sheet_by_name('Sheet1')
# 导入user_password.xlsx表格中的第一个表单sheet1的数据,存放到user_excel
# 该表格有三列,第一列是用户名,第二列是密码,第三列是登录错误次数,其初始值为0
user_number = user_list.max_row
# 调用user_list.max_row方法获得表的最大行数,max_column为获取最大列数
#print(user_list.cell(row=6,column=3).value)
# 测试,打印第6行第3列的值
#print(user_list.cell(row=2,column=1).value)
#同上

count = 0
# 作为用户登录成功的标志位,登录成功后count值变为1,结束登录循环
while count != 1:
    username = input("username=")
    password = input("password=")
    # 输入用户名和密码
    for i in range(user_number):
        if username == user_list.cell(row=i+2,column=1).value and user_list.cell(row=i+2,column=3).value == 3:
            print("the user %s is locked" % (username))
            break
            # 本段是判断该用户是否登录错误超过3次,被lock了
        elif username == user_list.cell(row=i+2,column=1).value and password == user_list.cell(row=i+2,column=2).value:
            print("Welcome user %s login..." %(username))
            count = 1
            break
            # 判断登录成功,打印出“Welcome user XXX login...”
    else:
        print("Invalib name or password")
        for j in range(user_number):
            if username == user_list.cell(row=j + 2, column=1).value:
                user_list.cell(row=j + 2,column=3).value += 1
                user_excel.save('user_password.xlsx')
                break
                # 登录错误,登录错误的用户次数加1

说明: Python的版本是3.6,运行前需在该.py文件夹里新建一个名为user_password.xlsx的表格,该表格有三列,第一列是用户名,第二列是该行用户的登陆密码,第三列是登录错误次数的记录,第三列的初始值为0。

在用户名或密码错误的情况下,和该用户被锁定的情况下,可以无限次数进行用户登录,在登录成功的情况下,只打印欢迎语句,结束该程序的运行。

注题目来自:老男孩教育Python课程

发布了3 篇原创文章 · 获赞 0 · 访问量 128

猜你喜欢

转载自blog.csdn.net/sinat_36852069/article/details/104100021
今日推荐