python实现工资管理系统的源代码_python实现简易工资管理系统(Salary Manage)源码...

1 #!/user/bin/env python

2 #-*-coding:utf-8 -*-

3 #Author: qinjiaxi

4 importsys,os,re5 operation_list = """

6 1.增加新员工薪资信息7 2.删除已有员工薪资信息8 3.修改已有员工薪资信息9 4.查询已有员工薪资信息10 5.退出操作11 """

12 user_dict = {}#空字典用来存储员工薪资信息

13 defuser_info():14 ‘‘‘定义员工薪资信息函数‘‘‘

15 with open(‘info.txt‘,‘r‘) as f:16 for i inf:17 i = i.strip()#去掉每行字符串前后空格和换行以及缩进

18 user_dict[i.split()[0]] = i.split()[1]#将员工信息以键值对key(员工姓名)--->value(员工薪资)的方式存储在字典中

19 print(‘当前员工的姓名:‘, i.split()[0])20

21 defuser_choice():22 ‘‘‘用户输入选择‘‘‘

23 whileTrue:24 print(operation_list)25 user_choice = input(‘请选择操作编号:‘)26 ifuser_choice.isdigit():27 user_choice =int(user_choice)28 if user_choice > 5:29 print(‘\033[31;1m请输入正确的操作编号\033[0m‘)30 if user_choice == 1:31 user_info_add()32 if user_choice == 2:33 user_info_del()34 if user_choice == 3:35 user_info_modify()36 if user_choice == 4:37 user_info_search()38 if user_choice == 5:39 sys.exit(‘退出程序‘)40 else:41 print(‘\033[31;1m请输入正确的操作编号\033[0m‘)42

43 defuser_info_add():44 ‘‘‘定义增加新员工薪资信息函数‘‘‘

45 whileTrue:46 user_info()47 add_user = input(‘请输入要增加员工的姓名和薪资,并以空格隔开(例如: Qinjiaxi 10000)‘)48 add_user_info = add_user.strip()#去掉用户输入前后的空格换行以及缩进

49 if len(add_user_info) < 2:50 print(‘\033[32;1m请输入正确的格式\033[0m‘)51 elif not add_user_info[1].isdigit():52 print(‘\033[32;1m请输入正确的数字\033[0m‘)53 else:54 name = add_user_info[0].capitalize()#把用户名的第一个字母变成大写

55 salary = add_user_info[1]56 if name in user_dict:#判断姓名是否在字典中

57 print("\033[32;1m您输入的名字已存在\033[0m")58 elif not name.isalpha():#判断姓名是否是全英文

59 print(‘\033[32;1m请输入正确的姓名‘)60 else:61 with open(‘info.txt‘,‘a‘) as f:62 f.write(name + ‘ ‘)63 f.write(salary + ‘\n‘)64 print(‘已将\033[32;1m[%s\033\[0m用户信息添加成功‘ %name)65 break

66

67 defuser_info_del():68 ‘‘‘定义删除员工薪资信息函数‘‘‘

69 whileTrue:70 user_info()71 del_user = input(‘请输入要删除员工的姓名,例如(Qinjiaxi)‘)72 del_user_info = del_user.capitalize()#把首个字母改成大写,方便用户输入

73 if del_user_info inuser_dict:74 confirm = input(‘请确认是否删除\033[32;1m %s\033[0m用户信息--->按\033[32;1mN\033[0m退出,按任意键确认‘%del_user_info)75 if confirm.capitalize() != ‘N‘:76 list = []#定义一个空列表用于存储不需要删除的员工信息

77 with open(‘info.txt‘, ‘r‘) as f:78 lines =f.readlines()79 for line inlines:80 if not re.search(del_user_info, line):#判断哪些员工不需要删除

81 list.append(line)82 with open(‘info.txt‘, ‘w‘) as f:83 f.writelines(list)84 print(‘\033[32;1m%s\033[0m已经删除‘ %del_user_info)85 break

86 else:87 print(‘\033[32;1m%已取消删除\033[0m‘)88 else:89 print(‘\033[32;1m该用户不存在\033[0m‘)90

91 defuser_info_modify():92 ‘‘‘定义修改员工薪资信息函数‘‘‘

93 whileTrue:94 user_info()95 modify_user = input(‘请输入要修改员工的姓名和薪资,并以空格隔开(例如:Qinjiaxi 10000)‘)96 modify_user_info =modify_user.strip()97 if len(modify_user_info) < 2:98 print(‘\033[32;1m请输入正确的格式\033[0m‘)99 elif not modify_user_info[1].isdigit():100 print(‘\033[32;1m请输入正确的数字\033[0m‘)101 else:102 name = modify_user_info[0].capitalize()#姓名

103 salary = modify_user_info[1]#薪资

104 if name inuser_dict:105 with open(‘info.txt‘, ‘r‘) as f:106 lines =f.readlines()107 with open(‘info.txt‘, ‘w‘) as f_w:108 for line inlines:109 if name inline:110 line = line.replace(user_dict[name], salary)#替换薪资

111 f_w.write(line)112 print(‘已将\033[32;1m%s\033[0m的工资修改为\033[32;1m%s\033[0m元‘%(name, salary))113 break

114 else:115 print(‘\033[32m;1m您输入的用户不存在\033[0m‘)116

117 defuser_info_search():118 ‘‘‘定义查询员工薪资信息函数‘‘‘

119 whileTrue:120 user_dict()121 search_user = input(‘请输入要查询的员工姓名(例如:Qinjiaxi)‘)122 search_user_info =search_user.capitalize()123 if search_user_info inuser_dict:124 print(‘\033[32;1m%s\033[0m工资为\033[32;1m%s\033[0m元‘ %(search_user_info, user_dict[search_user_info]))125 break

126 else:127 print(‘\033[32;1m请输入有效的用户名\033[0m‘)128

129 user_choice()