Python项目:实验报告发放台账信息管理系统

因为在现实工作必须完成实验报告发放台账信息的添加、储存、存储与表明,因而在网络上已经有的信息智能管理系统的基本上应用Python语言表达建立了本实验报告发放台账信息智能管理系统。

# laboratory_info.py# 实验报告发放台账信息管理方法新项目,规定带操作面板,并进行每项实际操作:# +----------------------+# | 1)添加实验报告发放台账信息           |# | 2)表明全部实验报告发放台账的信息        |# | 3)删掉实验报告发放台账信息           |# | 4)改动实验报告发放台账信息           |# | 5)储存实验报告发放台账信息到文档(laboratory.xls) |# | 6)文本文件中载入实验报告发放台账信息(laboratory.xls)|# | 撤出:别的随意功能键<回车键> |# +----------------------+def menu(): menu_info = '''+----------------------+| 1)添加实验报告发放台账信息 || 2)表明全部实验报告发放台账的信息 || 3)删掉实验报告发放台账信息 || 4)改动实验报告发放台账信息 || 5)储存实验报告发放台账信息到文档(laboratory.xls)| | 6)文本文件中载入发放台账信息(laboratory.xls) | | 撤出:别的随意功能键<回车键> |+----------------------+''' print(menu_info) # 1)添加实验报告发放台账信息def add_laboratory_info(): L = [] while True: Tn = input("输入您实验序号:") if not Tn: # 实验序号为空 跳出循环 break try: on = int(input("输入您编号:")) tn = int(input("输入您样品序号:")) tpn = input("输入您样品名字:") tt = input("输入您样品型号规格:") rtd = input("输入您规定实验单位:") c = input("输入您受托人:") la = input("输入您实验员:") rcd = int(input("请输入规定进行日期:")) acd = int(input("输入您具体进行日期:")) ec = input("输入您试验结果:") doior = int(input("输入您汇报发放日期:")) s = input("输入您接受人:") r = input("输入您备注名称:") except: print("键入失效....再次入录信息") continue info = {"Testnumber":Tn,"ordernumber":on,"testnumber":tn,"testproductname":tpn,"testtype":tt,"requiredtestdepartment":rtd,"client":c,"labassistant":la,"requestcompletiondate":rcd,"actualcompletiondate":acd,"experimentalconclusion":ec,"dateofissuanceofreport":doior,"sendee":s,"re ** rk":r} L.append(info) print("实验报告发放台账信息录入结束!!!") return L# 2)表明全部实验报告发放台账的信息def show_laboratory_info(laboratory_info): if not laboratory_info: print("无数据信息.....") return print("实验序号".center(8),"编号".center(8),"样品序号".center(8),"样品名字".center(8),"样品型号规格".center(8),"规定实验单位".center(8),"受托人".center(8),"实验员".center(8),"规定进行日期".center(8),"具体进行日期".center(8),"试验结果".center(8),"汇报发放日期".center(8),"接受人".center(8),"备注名称".center(8)) for info in laboratory_info: print(info.get("Testnumber").center(10),str(info.get("ordernumber")).center(10),str(info.get("testnumber")).center(10),str(info.get("testproductname")).center(10),str(info.get("testtype")).center(10),str(info.get("requiredtestdepartment")).center(10),str(info.get("client")).center(10),str(info.get("labassistant")).center(10),str(info.get("requestcompletiondate")).center(10),str(info.get("actualcompletiondate")).center(10),str(info.get("experimentalconclusion")).center(10),str(info.get("dateofissuanceofreport")).center(10),str(info.get("sendee")).center(10),str(info.get("re ** rk")).center(10))# 3)删掉实验报告发放台账信息def del_laboratory_info(laboratory_info,del_Testnumber = ''): if not del_Testnumber: del_Testnumber = input("输入您删掉的实验序号:") for info in laboratory_info: if del_Testnumber == info.get("Testnumber"): return info raise IndexError("实验报告发放台账信息不配对,沒有寻找%s" �l_Testnumber)# 4)改动实验报告发放台账信息def mod_laboratory_info(laboratory_info): mod_Testnumber = input("输入您改动的实验序号:") for info in laboratory_info: if mod_Testnumber == info.get("Testnumber"): Tn = input("输入您实验序号:") on = int(input("输入您编号:")) tn = int(input("输入您样品序号:")) tpn = input("输入您样品名字:") tt = input("输入您样品型号规格:") rtd = input("输入您规定实验单位:") c = input("输入您受托人:") la = input("输入您实验员:") rcd = int(input("请输入规定进行日期:")) acd = int(input("输入您具体进行日期:")) ec = input("输入您试验结果:") doior = int(input("输入您汇报发放日期:")) s = input("输入您接受人:") r = input("输入您备注名称:") info = {"Testnumber":Tn,"ordernumber":on,"testnumber":tn,"testproductname":tpn,"testtype":tt,"requiredtestdepartment":rtd,"client":c,"labassistant":la,"requestcompletiondate":rcd,"actualcompletiondate":acd,"experimentalconclusion":ec,"dateofissuanceofreport":doior,"sendee":s,"re ** rk":r} return info raise IndexError("实验报告发放台账信息不匹配,没有找到%s" %mod_Testnumber)# 5)保存实验报告发放台账信息到文件(laboratory.xls)def save_info(laboratory_info): try: laboratory_xls = open("laboratory.xls","w") # 以写模式打开,并清空文件内容 except Exception as e: laboratory_xls = open("laboratory.xls", "x") # 文件不存在,创建文件并打开 for info in laboratory_info: laboratory_xls.write(str(info)+"") # 按行存储,添加换行符 laboratory_xls.close()# 6)从文件中读取数据(laboratory.xls) def read_info(): old_info = [] try: laboratory_xls = open("laboratory.xls") except: print("暂未保存数据信息") # 打开失败,文件不存在说明没有数据保存 return while True: info = laboratory_xls.readline() if not info: break # print(info) info = info.rstrip() # 去掉换行符 # print(info) info = info[1:-1] # 去掉{} # print(info) laboratory_dict = {} # 单个实验报告字典信息 for x in info.split(","): # 以,为间隔拆分 # print(x) key_value = [] # 开辟空间,key_value[0]存key,key_value[0]存value for k in x.split(":"): # 以:为间隔拆分 k = k.strip() # 去掉首尾空字符 # print(k) if k[0] == k[-1] and len(k) > 2: # 判断是字符串还是整数 key_value.append(k[1:-1]) # 去掉 首尾的' else: key_value.append(int(k)) # print(key_value) laboratory_dict[key_value[0]] = key_value[1] # 实验报告发放台账信息添加 # print(laboratory_dict) old_info.append(laboratory_dict) # 所有实验报告发放台账信息汇总 laboratory_xls.close() return old_info def ** in(): laboratory_info = [] while True: # print(laboratory_info) menu() number = input("请输入选项:") if number == '1': laboratory_info = add_laboratory_info() elif number == '2': show_laboratory_info(laboratory_info) elif number == '3': try: laboratory_info.remove(del_laboratory_info(laboratory_info)) except Exception as e: # 试验编号不匹配 print(e) elif number == '4': try: laboratory = mod_laboratory_info(laboratory_info) except Exception as e: # 试验编号不匹配 print(e) else: # 首先按照根据输入信息的试验编号,从列表中删除该实验报告发放台账信息,然后重新添加该实验报告发放台账最新信息 laboratory_info.remove(del_laboratory_info(laboratory_info,del_Testnumber = laboratory.get("Testnumber"))) laboratory_info.append(laboratory) elif number == '5': save_info(laboratory_info) elif number == '6': laboratory_info = read_info() else: break input("回车显示菜单") ** in()

.

扫码免费用

源码支持二开

申请免费使用

在线咨询