简单的工资管理系统(尚未完成)

2017-09-16 14:44:37

本博客内多为原创,如需转载,请注明出处,谢谢。


本程序实现的功能:

  1. 查询员工工资
  2. 修改员工工资
  3. 增加新员工记录

首先画好流程图(这里我用思维导图构建思路)

环境依赖:

python 3.*

sys

所需文件:info.txt(与程序放在同一目录)

文件的格式为:

Alex 100000
Rain 80000
Egon 50000
Yuan 30000

程序尽量遵循pythonic的写法,后续还会修改得更好

Begin

# _*_ coding:utf-8 _*_
# Author:Mr.chan

import sys

# 本程序可以对文件进行查询、修改和新增操作

def query():
    """查询员工的姓名和工资"""
    while True:
        name = input("[b=back]请输入要查询的员工姓名:")
        if name == 'b':
            main()  # 如果输入b,则退出到首页
        with open("info.txt",'r',encoding='utf-8')as f:
            for line in f:
                if name.strip() == line.strip().split(' ')[0]:  # 如果输入的用户名与文件中的用户名相同时
                    print("%s的工资是:%s
"%(name.strip(),line.strip().split(' ')[1]))
                    break   # 在这里添加break,因为else是在for后面执行的,但只有for循环正常退出时才会执行else语句
                             # (不是由break结束循环),而当循环是由break语句中断时,else就不被执行。
            else:
                print("该用户不存在,请重新输入
")

def modify():
    pass
    """修改员工工资
    while True:
        name = input("[h=home]请输入要修改的员工的姓名和工资,用空格分割(例如:Alex 10):")
        with open("info.txt",'r+',encoding='utf-8') as f:
            for line in f:
                if name.strip().split(' ')[0] == line.strip().split(' ')[0]:
                    line = line.replace(line.strip().split(' ')[1],name.strip().split(' ')[1])
                f.write(line)
"""
def add():
    """增加员工的姓名和工资"""
    while True:
        name = input("[b=back]请输入要增加的员工姓名和工资,用空格分割(例如:Eric 100000):")
        if name == 'b':
            main()  # 回到首页
        with open("info.txt", 'a+', encoding='utf-8') as f:
            f.write(name)
            f.write('
')
            print("增加成功
")

def main():
    """主函数,进行各种操作"""
    while True:
        print("工资管理系统相关操作".center(30,'-'))
        print("1.查询员工工资
2.修改员工工资
3.增加新员工记录
4.退出")
        choice = input("请输入:")
        if choice.isdigit():
            choice = int(choice)
            if choice == 1:
                query()  # 如果选择1,则调用该函数进行查询
            elif choice == 2:
                modify()  # 修改这一项不会做,只用了pass占位
            elif choice == 3:
                add()
            elif choice == 4:
                sys.exit("再见")
            else:
                print("输入有误,请重新输入
")
        else:
            print("输入有误,请重新输入
")

if __name__ == '__main__':
    main()
原文地址:https://www.cnblogs.com/relax1949/p/7531329.html