文章目录
- 一、问题描述
- 二、涉及知识点
- 三、代码构建
- 四、运行调试
- 五、补充
一、问题描述
EMS(Employee Manager System 员工管理系统)
- 做命令行版本的员工管理系统
- 功能:
1.查询:显示当前系统当中的所有员工
2.添加: 将员工添加到当前系统中
3.删除: 将员工从系统当中删除
4.退出:退出系统
二、涉及知识点
- 用户输入数字,程序输出结果。涉及python输入输出模块。
- 程序自动进行下一轮,涉及 python 循环模块。
- 判断用户输入,涉及python 条件判断模块。
- 查询用户输入历史,涉及python 的列表模块。
- 查询、添加、删除、涉及到列表的操作。
三、代码构建
#显示页面信息
print('-'*20,'欢迎使用员工管理系统','='*20)
print('请选择你需要的操作:\n 1.查询员工 \n 2.添加员工 \n 3.删除员工\n 4.退出系统')
# 创建一个列表存储员工信息
emps = ['test1\t18\t男\t陕西','test2\t19\t女\t山西']
while True:
user_choose =(input('请输入[1-4]选择你需要的操作:'))
if user_choose == '1':
print('你正在进行查询员工操作\n',"-"* 40)
print(f'\t序号\t姓名\t年龄\t性别\t住址')
n = 1
for emp in emps :
print(f'\t{n}\t{emp}')
n += 1
elif user_choose == '2' :
print('你正在进行添加员工操作\n',"-"* 40)
emp_name = input('请输入员工的姓名:')
emp_age = input('请输入员工的年龄:')
emp_gender = input('请输入员工的性别:')
emp_address = input('请输入员工的地址:')
emp = f'{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}'
# 显示一个提示信息
print('以下员工将被添加到系统中\n','-'*62,'\n姓名\t年龄\t性别\t住址')
print(emp)
print('-'*62)
user_confirm = input('是否确认该操作[Y/N]:')
# 判断
if user_confirm == 'Y' or user_confirm == 'yes'or user_confirm == 'y' :
# 确认
emps.append(emp)
# 显示提示信息
print('添加成功!')
else :
# 取消操作
print('添加已取消!')
elif user_choose == '3':
print('你正在进行删除员工操作\n',"-"* 40)
del_num = int(input('请输入要删除的员工的序号:'))
# 判断序号是否有效
if 0 < del_num <= len(emps) :
# 输入合法,根据序号来获取索引
del_i = del_num - 1
# 显示一个提示信息
print('以下员工将被删除')
print('-'*62)
print('\t序号\t姓名\t年龄\t性别\t住址')
print(f'\t{del_num}\t{emps[del_i]}')
print('-'*62)
user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
# 判断
if user_confirm == 'Y' or user_confirm == 'yes' or user_confirm == 'y' :
# 删除元素
emps.pop(del_i)
# 显示提示
print('该员工已被删除!')
else :
# 操作取消
print('删除操作已取消!')
else :
# 输入有误
print('输入有误,请重输入你的选择!')
elif user_choose == '4' :
print('你即将退出员工管理系统,欢迎再次使用!')
break
else :
print('输入错误!请重新输入\n',"="* 40)
四、运行调试
五、补充
1.这里使用列表的原因;
元组和字符串中不能添加新的内容,不能修改元组里面的非可变容器元素列表则可以随意修改其中的值。
2.为什么没有员工信息修改功能:
这个将使用字典来实现员工信息修改,在使用列表对员工信息修改时,如果信息较多,修改其中一个实现很麻烦,实现过程是 :输入修改的序列号,取出对应元素,对元素进行分解,然后用户输入的修改信息赋值给原来的这一部分信息,再进行拼接操作,最后放回原列表中。