Python作業1:實現簡單的登陸接口

要求:

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課程

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章