0


用Python实现职工信息管理系统

想要实现一个职工管理系统
首先我们看一下想要实现什么功能
最基础的增删改查肯定要实现的
然后增加一下数据显示、数据排序、数据统计功能
下面直接上代码

  1. 增加职工数据
# 接收用户收入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()
  1. 删除职工数据
id=input('请输入你要修改的职工编号')
ids =[i[0]for i in data]ifidnotin ids:print('您查询的职工不存在')returnelse:del data[ids.index(id)]print('删除成功')
save()
  1. 查询职工数据
# 选择查询目标
flag =int(input('1.按照职工编号查询  2.按照职工姓名查询'))if flag ==1:id=input('输入职工编号')# 职工编号列表
    ids =[i[0]for i in data]# 判断输入的编号是否存在ifidnotin ids:print('您查询的职工不存在')returnelse:print('职工号 姓名 性别 年龄 学历 住址 电话 工资')# 打印该编号的信息for i in data[ids.index(id)]:print(i, end=' ')print()else:
    name =input('输入职工姓名')# 职工姓名列表
    names =[i[1]for i in data]# 判断输入的姓名是否存在if name notin names:print('您查询的职工不存在')returnelse:print('职工号 姓名 性别 年龄 学历 住址 电话 工资')# 同上for i in data[names.index(name)]:print(i, end=' ')print()
  1. 修改职工信息
id=input('请输入你要修改的职工编号')
ids =[i[0]for i in data]ifidnotin ids:print('您查询的职工不存在')returnelse:# 输入要修改的数据
    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()

)

  1. 排序函数
global data
data =sorted(data, key=lambda x: x[1])
  1. 统计函数
counts ={}# 统计每个工资的人数for i in data:
   counts[int(i[-1])]= counts.get(i[-1],0)+1# 按照人数多少排序
counts =dict(sorted(counts.items(), key=lambda x: x[1], reverse=True))# 将结果打印for money, count in counts.items():print('{0:<10}{1:>5}'.format(money, count))print('工资最多的是:',max(counts))print('工资最少的是:',min(counts))
  1. 显示函数
# 打印标题print('职工号 姓名 性别 年龄 学历 住址 电话 工资')# 遍历数据列表 然后打印数据for i in data:for j in i:print(j, end=' ')print()
  1. 读取保存函数
defsave():# 保存函数# 打开文件,写入数据withopen('数据.csv','w')as j:for i in data:
            j.write(','.join(i)+'\n')
    j.close()defload():# 读取函数# 读取文件withopen('数据.csv','r')as j:# 读取每行数据for i in j.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('职工号 姓名 性别 年龄 学历 住址 电话 工资')# 遍历数据列表 然后打印数据for i in data:for j in i:print(j, end=' ')print()defquety():# 查询函数# 选择查询目标
    flag =int(input('1.按照职工编号查询  2.按照职工姓名查询'))if flag ==1:id=input('输入职工编号')# 职工编号列表
        ids =[i[0]for i in data]# 判断输入的编号是否存在ifidnotin ids:print('您查询的职工不存在')returnelse:print('职工号 姓名 性别 年龄 学历 住址 电话 工资')# 打印该编号的信息for i in data[ids.index(id)]:print(i, end=' ')print()else:
        name =input('输入职工姓名')# 职工姓名列表
        names =[i[1]for i in data]# 判断输入的姓名是否存在if name notin names:print('您查询的职工不存在')returnelse:print('职工号 姓名 性别 年龄 学历 住址 电话 工资')# 同上for i in data[names.index(name)]:print(i, end=' ')print()defmodify():# 修改函数# 原理同上id=input('请输入你要修改的职工编号')
    ids =[i[0]for i in data]ifidnotin ids:print('您查询的职工不存在')returnelse:# 输入要修改的数据
        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():# 排序函数global data
    data =sorted(data, key=lambda x: x[1])defstatistics():# 统计函数
    counts ={}# 统计每个工资的人数for i in data:
        counts[int(i[-1])]= counts.get(i[-1],0)+1# 按照人数多少排序
    counts =dict(sorted(counts.items(), key=lambda x: x[1], reverse=True))# 将结果打印for money, count in counts.items():print('{0:<10}{1:>5}'.format(money, count))print('工资最多的是:',max(counts))print('工资最少的是:',min(counts))defdelete():# 删除函数# 原理同上id=input('请输入你要修改的职工编号')
    ids =[i[0]for i in data]ifidnotin ids:print('您查询的职工不存在')returnelse:del data[ids.index(id)]print('删除成功')
    save()defsave():# 保存函数# 打开文件,写入数据withopen('数据.csv','w')as j:for i in data:
            j.write(','.join(i)+'\n')
    j.close()defload():# 读取函数# 读取文件withopen('数据.csv','r')as j:# 读取每行数据for i in j.readlines():# 清洗掉换行符 然后以逗号为间隔符分割
            data.append(i.replace('\n','').split(','))
    j.close()if __name__ =='__main__':
    data =[]# 数据保存列表# 读取文件 如果文件不存在 报错跳过 无视try:
        load()except FileNotFoundError:passwhileTrue:# 根据玩家的输入 选择相应的功能
        choice =int(input('1.添加职工数据\n2.显示职工数据\n3.查询职工数据\n4.修改职工数据\n5.删除职工数据\n6.保存职工数据\n7.排序职工数据\n8.统计职工工资数据\n9.退出'))if choice ==1:
            add()elif choice ==2:
            show()elif choice ==3:
            quety()elif choice ==4:
            modify()elif choice ==5:
            delete()elif choice ==6:
            save()elif choice ==7:
            sort()elif choice ==8:
            statistics()elif choice ==9:print('退出程序')break

好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个关注,是对我莫大的鼓励!
我们这边有一个Python交流群,里面程序源码、教程视频,还有大佬解答问题,群号:821189983

标签: python

本文转载自: https://blog.csdn.net/Miku_wx/article/details/111796704
版权归原作者 Miku丨无形 所有, 如有侵权,请联系我们删除。

“用Python实现职工信息管理系统”的评论:

还没有评论