import sys import os informationDictTemp = {} UserName = "" staff_table = "information.txt" informationMap = {"0":"serial","1":"name","2":"age","3":"telephone","4":"dept","5":"hiredate"} #登录 def login(): print(loadData(staff_table)) count =3 judgeDict = {} with open("user_information.txt","r",encoding="utf-8") as f: for i in f.readlines(): data = i.strip().split(",") judgeDict.setdefault(data[0],data[1]) while not count is None: global UserName print("欢迎进入个人信息修改系统".center(50,"*")) UserName = input("请输入用户名字:").strip().title() PassWord = input("请输入用户密码:").strip() if count >1: if UserName in judgeDict.keys() and PassWord == judgeDict[UserName]: return print("恭喜你,登录成功。。。") else: count-=1 print("sorry,你输入的用户名和密码有误,请重新输入!") continue else: print("连续登录三次错误,系统将自动退出!") sys.exit() #解析文件parse def loadData(file_name): with open(file_name,"r",encoding="utf-8") as f: for i in f.readlines(): data = i.strip().split(",") informationDictTemp.setdefault(data[1],data[2:]) return informationDictTemp #查询 def findFun(para1,para2,para3): print(para1) logicSymbol = [">","<","=",">=","<=","like"] # if para1[0] in informationMap.values() and para1[1] in logicSymbol: if para1=="*" and not para2.__contains__("like"): # judge_condition = "".join(para3[1:]) # for i in informationDictTemp.keys(): # informationMap.append(informationDictTemp[i][0]) # print(informationMap) location = list(informationMap.values()).index(para2[0])+2 # result = {k:v for k,v in informationDictTemp.items() if eval("int(v[location]) >9") } result = {k:v for k,v in informationDictTemp.items() if int(v[0]) > 9} printInfoFun(result) print(informationDictTemp) for k,v in informationDictTemp.items(): print(k,v) elif para1=="*" and para2.__contains__("like"): print() else: print() # else: # print("表中不包含你过滤项目或条件语法有误") def xx(x,y): print(x+y) #打印信息 def printSelfInfoFun(): global UserName print(""" *************************** Name:{0} Age:{1[0]} PhoneNumber:{1[1]} Dept:{1[2]} HireDate:{1[3]} *************************** """.format(UserName,informationDictTemp[UserName])) def printInfoFun(a): print("serialno","name".rjust(10," "),"age".rjust(5," "),"telephone".rjust(5," "), "dept".rjust(5," "),"hiredate".rjust(5," ")) count = 0 for index,con in a.items(): print(count,index.rjust(20," ")," ".join(con)) count+=1 # 创建 def createFun(): print() #删除 def deleteFun(para1,para2): print() #修改 def modifyFun(): print() login() print("欢迎进入个人信息查询系统,请输入合法语法指令".center(50,"-")) while 1: command = input(">>>>>>>").strip() print(command) splitResult = command.split() para1 = splitResult[1] # para2 = splitResult[splitResult.index("from"):splitResult.index("where")+1] para2 = splitResult[(splitResult.index("where"))+1:] print(para2) para3 = "" print(para1,para2,para3) if command.startswith("find"): print("find") # print("{0}的个人信息如下:\n{1}".format(UserName,informationDict[UserName])) findFun(para1,para2,para3) continue elif command.startswith("add"): createFun() continue elif command.startswith("del"): deleteFun() continue elif command.startswith("update"): print("{0}的个人信息如下:\n{1}".format(UserName,informationDictTemp[UserName])) modifyFun() continue else: print("输入指定有误,请重新输入!") continue
0918
猜你喜欢
转载自www.cnblogs.com/wjy123/p/9666907.html
今日推荐
周排行