题目:
Python简陋版工资管理系统
要求:
彦 100000 盖伦 80000 莫甘娜 50000 赵信 30000
-----以上是info.txt文件----- 实现效果:
从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件。
需要以下四个功能:
查询员工工资
修改员工工资
增加新员工记录
删除员工信息
退出
文件 和 代码在gongziguanli文件夹
代码:
# Python简陋版工资管理系统
# 要求:
# 彦 100000 盖伦 80000 莫甘娜 50000 赵信 30000
# -----以上是info.txt文件----- 实现效果:
# 从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件。
# 需要以下四个功能:
# 查询员工工资
# 修改员工工资
# 增加新员工记录
# 删除员工信息
# 退出
# 文件 和 代码在gongziguanli文件夹
import os # 本来想用来对路径操作一下 忘了。。。这里就在当前路径操作
def msgList():
'''
查看信息列表
:return:
'''
name_list=[]
salary_list=[]
with open('info.txt','r',encoding='utf-8') as info_f:
info_list=info_f.readlines()
for item in info_list:
name_list.append(item.split(' ')[0])
salary_list.append(item.split(' ')[1].strip('\n'))
return [name_list,salary_list]
pass
def renewInfo(name_list,salary_list):
'''
更新info.txt
:param name_list: 姓名信息列表
:param salary_list: 工资信息列表
'''
new_list = list(zip(name_list, salary_list))
with open('info.txt', 'w', encoding='utf-8') as new_f:
for itemtuple in new_list:
new_f.write(itemtuple[0] + ' ' + itemtuple[1] + '\n')
def chaXun(name):
'''
查询员工工资信息
:param name: 员工姓名
'''
try:
name_list = msgList()[0]
salary_list = msgList()[1]
salary=salary_list[name_list.index(name)]
print(name+'的工资为:'+salary)
except:
print('查无此人')
xuanXiang()
pass
pass
def xiuGai():
'''
修改指定员工工资
:param name: 员工姓名
:param salary: 修改后的工资
'''
name = input('请输入你要修改工资的员工:')
chaXun(name) # 查看该员工当前工资
salary = input('请输入修改后的工资:')
name_list = msgList()[0]
salary_list = msgList()[1]
salary_list[name_list.index(name)]=salary
renewInfo(name_list, salary_list)
pass
def newAdd():
'''
新增员工工资数据
'''
name_list = msgList()[0]
salary_list = msgList()[1]
name=input('请输入新员工姓名:')
if name in name_list:
print(name+'已经存在')
name=input('请在姓名后加后缀重新输入:')
pass
salary=input('请输入新员工工资:')
name_list.append(name)
salary_list.append(salary)
renewInfo(name_list, salary_list)
pass
def delFunc():
'''
删除员工工资数据
'''
try:
name = input('请输入要删除的员工姓名:')
name_list = msgList()[0]
salary_list = msgList()[1]
salary_list.pop(name_list.index(name)) # 易错点 注意顺序
name_list.pop(name_list.index(name))
renewInfo(name_list,salary_list)
except:
print('查无此人')
pass
def printSysmsg():
'''
打印功能菜单
'''
print('------欢迎使用员工工资管理系统------')
print('功能菜单:')
print('1:查询员工工资')
print('2:修改员工工资')
print('3:增加新员工记录')
print('4:删除员工信息')
print('0:退出系统')
print('-----------------------------')
pass
def xuanXiang():
n = input('请输入你要使用的功能序号,弹出功能菜单请输入5:')
while True:
if n == '1':
name = input('请输入你要查询员工的姓名:')
chaXun(name) #查看员工工资信息
xuanXiang()
pass
elif n=='2':
xiuGai() # 修改员工工资信息
xuanXiang()
pass
elif n=='3':
newAdd() # 新增员工工资信息
xuanXiang()
pass
elif n=='4':
delFunc() # 删除员工工资信息
xuanXiang()
pass
elif n=='5':
printSysmsg()
xuanXiang()
pass
elif n=='0':
quit() # 退出系统
pass
else:
n=input('您的输入有误,请重新输入序号:')
pass
pass
pass
if __name__ == '__main__':
printSysmsg() #弹出操作菜单
xuanXiang() #进行操作
pass