Python简陋版工资管理系统

题目:
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



  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿左.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值