#用戶輸入用戶名密碼,若是在鎖定文件中,則告知用戶名已被鎖定。 #如用戶不在鎖定文件中,匹配用戶名和密碼,若是驗證成功打印歡迎介面 #若是匹配不成功,讓用戶從新輸入,用戶有三次機會,超過3次退出程序 #若是用戶最後輸入的用戶名在系統用戶文件中,則將其寫入到鎖定文件,反之則不寫入鎖定文件。 # 文件account.txt內容以下: # Jacky 1234 # sky 3356 # Yvone 5566 #account_lock.txt爲空 cmd = input(''' 1:登陸系統 2:即出系統 請選擇: ''') if cmd.isdigit() and int(cmd) == 2: exit() elif cmd.isdigit() and int(cmd) == 1: pass else: print('您輸入有誤!') exit() i = 0 j = 0 while i < 3: user_input = input('Please input your username:') passwd_input = input('Please input your password:') list_lock = open('account_lock.txt', 'r+') lock_user = list_lock.readlines() for line in lock_user: lines = line.strip('\n') if lines == user_input: print('Username %s has been locked!' % user_input) exit() else: pass list_user = open('account.txt', 'r') user_info = list_user.readlines() for line in user_info: (username, password) = line.strip('\n').split() if username == user_input and password == passwd_input: print('''\033[1;32m ************************************************* * WELCOME * ************************************************* \033[0m''') j = 3 break if j < 2: j += 1 print('\033[1;31m\nWrong username or password \033[0m') continue else: # 判斷用戶輸入的用戶名是否在系統的用戶列表中,若是存在將用戶名鎖定,若是不存在則不加入鎖定文件中。 for i in user_info: if j != 3 and user_input in i.strip('\n').split(): list_lock.write(user_input + '\n') i = 3 list_lock.close() list_user.close() print('contin')