Python--字典--员工管理系统
1、思路分析员工管理系统可依据职责不同分为3部分:(1)数据存储(2)业务实现(3)数据呈现2、员工数据存储问题我们首要要解决的问题就是数据的存储问题, 我们这里要考虑的是数据以什么样的容器来存储.从业务的删除操作、修改操作来讲, 我们都需要根据键(员工编号)快速定位员工信息, 达到修改和删除的目的.所学容器中, 字典可以根据某个不重复的关键字来快速定位元素. 所以我们使用字典存储员工信息, 字典
1、思路分析
员工管理系统可依据职责不同分为3部分:
(1)数据存储
(2)业务实现
(3)数据呈现
2、员工数据存储问题
我们首要要解决的问题就是数据的存储问题, 我们这里要考虑的是数据以什么样的容器来存储.
从业务的删除操作、修改操作来讲, 我们都需要根据键(员工编号)快速定位员工信息, 达到修改和删除的目的.
所学容器中, 字典可以根据某个不重复的关键字来快速定位元素. 所以我们使用字典存储员工信息, 字典的键为员工
编号, 字典的值为员工信息. 存储结构如下:employee = {'1001': 员工信息, '1002': 员工信息}
3、业务实现步骤
(1) 首先显示操作菜单.
(2) 获得用户输入的菜单编号.
(3)根据菜单编号选择不同的操作执行.
(4)重复上面3个步骤.
4、搭建业务框架
yuangongs={}
def enum():
pass
def add():
pass
def delete():
pass
def edit():
pass
def show_single():
pass
def show():
pass
while True:
enum()
operate=input('请输入您的操作:')
if operate=='1':
print('添加员工信息')
add()
elif operate=='2':
print('删除员工信息')
delete()
elif operate=='3':
print('修改员工信息')
edit()
elif operate=='4':
print('显示单个员工信息')
show_single()
elif operate=='5':
print('显示所有员工信息')
show()
elif operate=='6':
print('退出系统')
break
else:
print('您输入的操作有误')
break
5、显示菜单
def enum():
print('*'*16+'员工管理系统'+'*'*16)
print('1.添加员工信息')
print('2.删除员工信息')
print('3.修改员工信息')
print('4.显示单个员工信息')
print('5.显示所有员工信息')
print('6.退出系统')
print('*'*45)
6、新增操作
1. 获得输入的员工信息.
2. 将员工信息依据 "键:值" 存储到字典中, 每个字典表示一个员工的完整信息.
3. 以员工编号为键, 员工信息为值, 将员工信息存储到 yuangongs字典中.
#新增
def add():
#1.员工编号,员工姓名,性别,薪资
yuangong_id=input('请输入员工编号:')
#判断员工编号是否存在,如果存在,拒绝添加,并提示员工编号重复,添加失败
yuangong_all_key=yuangongs.keys()
if yuangong_id in yuangong_all_key:
print('工编号重复,添加失败')
return
#如果不重复进行下面操作
#2.将员工信息保存在字典中
#编号作为键,其他信息作为值
yuangong_name=input('请输入员工姓名:')
yuangong_sex = input('请输入员工性别:')
yuangong_salary = input('请输入员工工资:')
yuangong_info={'name':yuangong_name,'sex':yuangong_sex,'salary':yuangong_salary}
yuangongs[yuangong_id]=yuangong_info
print('员工编号为%s的信息添加成功' %yuangong_id)
7、删除操作
1. 获得要删除的员工编号.
2. 判断员工编号是否存在, 如果不存在则终止函数执行.
3. 如果员工信息存在, 则根据键删除员工信息.
#删除
def delete():
#获取要删除的员工编号,
yuangong_id=input('输入要删除的员工编号:')
yuangong_all_key = yuangongs.keys()
# 判断员工编号是否存在,不存在,提示错误信息,终止函数执行
if yuangong_id not in yuangong_all_key:
print('员工编号不存在')
return
#如果编号存在,删除对应员工编号信息
del yuangongs[yuangong_id]
print('员工编号%s的员工删除成功' %yuangong_id)
8、修改操作
1. 获得要修改的员工编号.
2. 判断员工编号是否存在, 如果不存在则终止修改函数执行.
3. 首先显示员工的对应信息, 并提示用户输入修改之后的值: 3.1 如果直接回车, 表示用户无任何输入, 则表示不修改. 3.2 如果用户输入值, 则将对应信息修改为新输入的值.
#修改员工信息
def edit():
# 获取要修改的员工编号,
yuangong_id = input('输入要修改的员工编号:')
yuangong_all_key = yuangongs.keys()
# 判断员工编号是否存在,不存在,提示错误信息,终止函数执行
if yuangong_id not in yuangong_all_key:
print('员工编号不存在')
return
# 如果编号存在,修改对应员工编号信息
yuangong_name=input('姓名为:%s,您要修改为:' %(yuangongs[yuangong_id]['name']) )
yuangong_sex = input('性别为:%s,您要修改为:' %(yuangongs[yuangong_id]['sex']))
yuangong_salary = input('工资为:%s,您要修改为:' %(yuangongs[yuangong_id]['salary']))
if yuangong_name !='':
yuangongs[yuangong_id]['name']=yuangong_name
if yuangong_sex != '':
yuangongs[yuangong_id]['sex'] = yuangong_sex
if yuangong_salary != '':
yuangongs[yuangong_id]['salary'] = yuangong_salary
print('员工编号为%s的信息修改成功' % yuangong_id)
9、显示单个员工信息
1. 获得要查看的员工编号.
2. 判断员工编号是否存在, 如果不存在则终止修改函数执行.
3. 取字典中对应的编号,显示其信息
def show_single():
yuangong_id = input("请输入要显示的员工信息的编号:")
yuangong_all_key = yuangongs.keys()
# 判断员工编号是否存在,不存在,提示错误信息,终止函数执行
if yuangong_id not in yuangong_all_key:
print('员工编号不存在')
return
for yuangong, value in yuangongs.items():
if yuangong ==yuangong_id:
v = list(value.values())
print('%s\t\t%s\t\t%s\t\t' % (v[0],v[1],v[2]))
10、显示所有员工信息
直接遍历 yuangongs 字典, 注意字典中存储的每一个元素都是一个键, 键为员工编号, 值为字典类型, 存储的是员工的信息.
#显示员工信息
def show():
for yuangong in yuangongs.items():
print('%s\t\t%s\t\t%s\t\t%s\t\t' %(yuangong[0],yuangong[1]['name'],yuangong[1]['sex'],yuangong[1]['salary']))
更多推荐
所有评论(0)