編寫可供用戶查詢的員工信息表 要求: 1.需要用戶認證 2.員工信息表文件內容: ID Name Department Phone 3.認證成功後查詢正確信息 代碼: 效果預覽: ...
編寫可供用戶查詢的員工信息表
要求:
1.需要用戶認證
2.員工信息表文件內容:
ID Name Department Phone
3.認證成功後查詢正確信息
代碼:
#!/usr/bin/env python #聲名python 解釋器,env可根據環境尋找並運行預設版本
authen_dic = {"LiuPn":123,"WangXiaoMing":123456,"HaoXiaoBei":12345678} #定義一個字典存放可登陸的用戶及密碼
usr_list = list(authen_dic.keys()) #操作字典轉生成一個用戶列表
while True:
input_usr = input("Please input your username: ") #用戶交互第一步:請輸入用戶名
if usr_list.count(input_usr) >= 1: #假設輸入的用戶名在用戶名列表裡出現次數大於等於1
input_passwd = input("Please input %s's password: "% input_usr) #用戶交互第二步:請輸入密碼
passwd = str(authen_dic[input_usr]) #操作字典取出用戶密碼並格式化為字元串
while input_passwd != passwd: #假設密碼不相等時進入迴圈
input_passwd = input("Password is incorrect!Try again:")
else: #對應前面,密碼不正確時
print("Logon successful!Welcome") #列印成功信息
while True: #登陸成功後進入while迴圈
match_yes = 0 #定義一個變數初始值與後面的賦值對應
sch_input = input("\033[1;34;42mPlease enter what the information you need to search: ")
#請輸入你想查找的信息
InfoOfEmTab_file = open("TheInfoOfEmployeeTable.txt") #對文件進行操作,打開員工信息表文件
while True:
line = InfoOfEmTab_file.readline() #讀取文件的每一行
if len(line) == 0: break #讀取到文件結尾後結束退出
if sch_input in line: #假設用戶輸入的內容在信息表文件的其中一行中
print("\033[1;31mMarch Item: \033[1;36m%s" % line)#格式化輸出列印信息
match_yes = 1 #滿足條件後給變數賦予新值(註:變數賦值不輸出任何信息)
if match_yes == 0: #變數值如果等於初始值則列印信息(這裡變數初始值對應上一條件里給變數賦予了一個新的值,所以可以理解成變數值不等於1,即用戶輸入的內容不在信息表的任一行里)
print("\033[1;31mNo match items had found!Please check it and try again.\n")
else: #對應之前用戶名輸入不正確
print("The user name:%s is not found. Please re-enter your username." % input_usr)
效果預覽: