简单的工资管理系统(尚未完成)
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()