1. 程式人生 > 其它 >需求:編寫登入介面 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸錯三次鎖定

需求:編寫登入介面 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸錯三次鎖定

#!/usr/bin/env python3
# auther xiaohanshen
"""
編寫登入介面
輸入使用者名稱密碼
認證成功後顯示歡迎資訊
輸錯三次鎖定
"""

user_list = []
f = open('C:\\Users\\Administrator\\Desktop\\user.txt', 'r').readlines()  #readlines按行讀取
for j in f:
    line1 = j.strip('\n')
    user_list.append(line1)

user_file = open('C:\\Users\\Administrator\\Desktop\\lock.txt').readlines() #讀取被鎖使用者列表檔案
username = input("使用者名稱:").strip()
lock = []
for i in user_file:
    line = i.strip('\n')  #去掉每行頭尾空白
    lock.append(line)  #把資料寫入列表lock
print(lock)
if username in lock:
    print(username,"已被鎖定")
else:
    count = 0

    while count<3:
        count += 1
        passwd = input("密碼:").strip()
        login = False
        if len(username) !=0 and len(passwd) !=0:  #判斷是否有輸入
                if username in user_list:  #判斷輸入的使用者是否在檔案user.txt中
                    index_count = user_list.index(username)  #得出輸入的使用者相等的使用者名稱的索引
                    if username ==user_list[index_count] and user_list[index_count+1]:  #判斷使用者和密碼是否相等
                        print("登入成功")
                        login =True
                        break
                else:
                    print("使用者名稱或密碼錯誤請重新輸入...")
                    continue
                if login is True:
                    break

    if count == 3:
        file = open('C:\\Users\\Administrator\\Desktop\\lock.txt','a')
        file.write(username)
        file.write("\n")
        file.close()
        print(username,"你已輸入超過3次,賬號鎖定")