Python实现简单的登陆接口
程序员文章站
2022-04-18 15:52:40
...
要求:
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课程
上一篇: 元宵节是中国的传统节日,正月十五在西汉受到怎样的重视?
下一篇: *电视台电视译制片目录