用Python实现职工信息管理系统
想要实现一个职工管理系统
首先我们看一下想要实现什么功能
最基础的增删改查肯定要实现的
然后增加一下数据显示、数据排序、数据统计功能
下面直接上代码
增加职工数据
#接收用户收入 id=input('请输入职工号') name=input('请输入姓名') sex=input('请输入性别') age=input('请输入年龄') education=input('请输入学历') address=input('请输入住址') photonumber=input('请输入电话') money=input('请输入工资') #向列表中添加数据 data.append([id,name,sex,age,education,address,photonumber,money]) print('添加成功') #调用保存函数保存数据 save()
删除职工数据
id=input('请输入你要修改的职工编号') ids=[i[0]foriindata] ifidnotinids: print('您查询的职工不存在') return else: deldata[ids.index(id)] print('删除成功') save()
查询职工数据
#选择查询目标 flag=int(input('1.按照职工编号查询2.按照职工姓名查询')) ifflag==1: id=input('输入职工编号') #职工编号列表 ids=[i[0]foriindata] #判断输入的编号是否存在 ifidnotinids: print('您查询的职工不存在') return else: print('职工号姓名性别年龄学历住址电话工资') #打印该编号的信息 foriindata[ids.index(id)]: print(i,end='') print() else: name=input('输入职工姓名') #职工姓名列表 names=[i[1]foriindata] #判断输入的姓名是否存在 ifnamenotinnames: print('您查询的职工不存在') return else: print('职工号姓名性别年龄学历住址电话工资') #同上 foriindata[names.index(name)]: print(i,end='') print()
修改职工信息
id=input('请输入你要修改的职工编号') ids=[i[0]foriindata] ifidnotinids: print('您查询的职工不存在') return else: #输入要修改的数据 name=input('请输入姓名') sex=input('请输入性别') age=input('请输入年龄') education=input('请输入学历') address=input('请输入住址') photonumber=input('请输入电话') money=input('请输入工资') #修改数据 data[ids.index(id)]=[id,name,sex,age,education,address,photonumber,money] print('修改成功') save()
排序函数
globaldata data=sorted(data,key=lambdax:x[1])
统计函数
counts={} #统计每个工资的人数 foriindata: counts[int(i[-1])]=counts.get(i[-1],0)+1 #按照人数多少排序 counts=dict(sorted(counts.items(),key=lambdax:x[1],reverse=True)) #将结果打印 formoney,countincounts.items(): print('{0:<10}{1:>5}'.format(money,count)) print('工资最多的是:',max(counts)) print('工资最少的是:',min(counts))
显示函数
#打印标题 print('职工号姓名性别年龄学历住址电话工资') #遍历数据列表然后打印数据 foriindata: forjini: print(j,end='') print()
读取保存函数
defsave():#保存函数 #打开文件,写入数据 withopen('数据.csv','w')asj: foriindata: j.write(','.join(i)+'\n') j.close() defload():#读取函数 #读取文件 withopen('数据.csv','r')asj: #读取每行数据 foriinj.readlines(): #清洗掉换行符然后以逗号为间隔符分割 data.append(i.replace('\n','').split(',')) j.close()
总结整体代码:
defadd():#添加数据函数 #接收用户收入 id=input('请输入职工号') name=input('请输入姓名') sex=input('请输入性别') age=input('请输入年龄') education=input('请输入学历') address=input('请输入住址') photonumber=input('请输入电话') money=input('请输入工资') #向列表中添加数据 data.append([id,name,sex,age,education,address,photonumber,money]) print('添加成功') #调用保存函数保存数据 save() defshow():#显示函数 #打印标题 print('职工号姓名性别年龄学历住址电话工资') #遍历数据列表然后打印数据 foriindata: forjini: print(j,end='') print() defquety():#查询函数 #选择查询目标 flag=int(input('1.按照职工编号查询2.按照职工姓名查询')) ifflag==1: id=input('输入职工编号') #职工编号列表 ids=[i[0]foriindata] #判断输入的编号是否存在 ifidnotinids: print('您查询的职工不存在') return else: print('职工号姓名性别年龄学历住址电话工资') #打印该编号的信息 foriindata[ids.index(id)]: print(i,end='') print() else: name=input('输入职工姓名') #职工姓名列表 names=[i[1]foriindata] #判断输入的姓名是否存在 ifnamenotinnames: print('您查询的职工不存在') return else: print('职工号姓名性别年龄学历住址电话工资') #同上 foriindata[names.index(name)]: print(i,end='') print() defmodify():#修改函数 #原理同上 id=input('请输入你要修改的职工编号') ids=[i[0]foriindata] ifidnotinids: print('您查询的职工不存在') return else: #输入要修改的数据 name=input('请输入姓名') sex=input('请输入性别') age=input('请输入年龄') education=input('请输入学历') address=input('请输入住址') photonumber=input('请输入电话') money=input('请输入工资') #修改数据 data[ids.index(id)]=[id,name,sex,age,education,address,photonumber,money] print('修改成功') save() defsort():#排序函数 globaldata data=sorted(data,key=lambdax:x[1]) defstatistics():#统计函数 counts={} #统计每个工资的人数 foriindata: counts[int(i[-1])]=counts.get(i[-1],0)+1 #按照人数多少排序 counts=dict(sorted(counts.items(),key=lambdax:x[1],reverse=True)) #将结果打印 formoney,countincounts.items(): print('{0:<10}{1:>5}'.format(money,count)) print('工资最多的是:',max(counts)) print('工资最少的是:',min(counts)) defdelete():#删除函数 #原理同上 id=input('请输入你要修改的职工编号') ids=[i[0]foriindata] ifidnotinids: print('您查询的职工不存在') return else: deldata[ids.index(id)] print('删除成功') save() defsave():#保存函数 #打开文件,写入数据 withopen('数据.csv','w')asj: foriindata: j.write(','.join(i)+'\n') j.close() defload():#读取函数 #读取文件 withopen('数据.csv','r')asj: #读取每行数据 foriinj.readlines(): #清洗掉换行符然后以逗号为间隔符分割 data.append(i.replace('\n','').split(',')) j.close() if__name__=='__main__': data=[]#数据保存列表 #读取文件如果文件不存在报错跳过无视 try: load() exceptFileNotFoundError: pass whileTrue: #根据玩家的输入选择相应的功能 choice=int(input('1.添加职工数据\n2.显示职工数据\n3.查询职工数据\n4.修改职工数据\n5.删除职工数据\n6.保存职工数据\n7.排序职工数据\n8.统计职工工资数据\n9.退出')) ifchoice==1: add() elifchoice==2: show() elifchoice==3: quety() elifchoice==4: modify() elifchoice==5: delete() elifchoice==6: save() elifchoice==7: sort() elifchoice==8: statistics() elifchoice==9: print('退出程序') break
到此这篇关于用Python实现职工信息管理系统的文章就介绍到这了,更多相关Python职工信息管理系统内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!