1. 程式人生 > >python實戰演練(一)登入介面程式

python實戰演練(一)登入介面程式

一.實現功能:

1. 使用者輸入帳號密碼進行登陸
2. 使用者資訊儲存在檔案內
3. 使用者密碼輸入錯誤三次後鎖定使用者

二.流程圖

 

三.程式碼

#-*- Coding:utf-8 -*-
# Author: kking

# 建立了user_info是使用者檔案,user_lock是被鎖使用者檔案
# 作業需求:
# 1. 使用者輸入帳號密碼進行登陸
# 2. 使用者資訊儲存在檔案內
# 3. 使用者密碼輸入錯誤三次後鎖定使用者

import sys,getpass,os

count = 0  #定義一個while迴圈次數變數
print('****************歡迎來到英雄聯盟******************
') login_name = input('請輸入使用者名稱>>>: ') lock_file = open('user_lock.txt','r+') #定義lock_file變數以讀寫模式開啟 user_lock.txt文字 lock_list = lock_file.readlines() #定義lock_list變數讀取 user_lock.txt文字內容 for lock_info in lock_list: #迴圈遍歷user_lock.txt文字內容 lock = lock_info.split() #
定義一個lock變數,以列表形式儲存user_lock.txt文字內容 #print(lock) if login_name in lock: #判斷輸入的使用者名稱是否已在繫結名單中 sys.exit('您已被鎖定...請聯絡管理員') user_file = open('user_info.txt','r+') #定義user_file變數以讀寫模式開啟 user_info.txt文字 user_list = user_file.readlines() #定義user_list變數讀取 user_info.txt文字內容 for
user_info in user_list: #迴圈遍歷user_info.txt文字內容 user = user_info.split() #定義一個user變數,以列表形式儲存user_info.txt文字內容 #print(user) if login_name in user: #判斷使用者是否存在使用者列表中 while count < 3: #當密碼輸入次數>3時,退出迴圈 login_pwd = input('請輸入密碼>>>: ') if login_pwd == user[1]: #判斷輸入密碼是否正確 sys.exit('登入成功,歡迎 %s 登入' % user[0]) else: count += 1 print('密碼輸入錯誤,請重新輸入...您還有 %s 次機會' % (3-count)) else: #密碼輸入>=3時,執行一下操作 lock_file.write(login_name + '\n') #把login_name寫到檔案中,write()並不會在str後加上一個換行符 sys.exit('密碼輸錯3次,該使用者已被繫結') else: sys.exit('使用者不存在') #輸入的使用者名稱不在user_info使用者列表中,給出“使用者不存在提示” user_file.close() lock_file.close()