面向?qū)ο笕肆Y源管理系統(tǒng):
- 能存多個(gè)員工信息
(每個(gè)員工的信息有:姓名虚倒、年齡、工號(hào)、薪資钱磅、職位、部門) - 新員工入職(添加員工)
- 員工離職(刪除員工)
- 查看某個(gè)員工的信息
- 查詢薪資最高的員工
- 查詢指定部門中所有員工的平均薪資
- 求整個(gè)公司的員工的平均年齡
(可以根據(jù)能力改善和添加功能似枕,做到盡量貼近生活)
# Filename : 面向?qū)ο笞鳂I(yè).py
# Date : 2018/8/1
import json
try:
with open('./new_staff.json', 'r', encoding='utf-8') as g:
old_data = json.load(g)
except FileNotFoundError:
with open('./new_staff.json', 'w', encoding='utf-8') as g:
old_data = []
json.dump(old_data, g)
def write():
with open('./new_staff.json', 'w', encoding='utf-8') as g:
json.dump(old_data, g)
class Staff:
def __init__(self, name, age, id_num, money, job, department):
self.name = name
self._age = age
self.id_num = id_num
self._money = money
self.job = job
self.department = department
def info(self):
staff_info = {}
staff_info['name'] = self.name
staff_info['age'] = self._age
staff_info['id_num'] = self.id_num
staff_info['money'] = self._money
staff_info['job'] = self.job
staff_info['department'] = self.department
old_data.append(staff_info)
return old_data
class HR_manager:
def add_staff(self):
name = input('請(qǐng)輸入員工的姓名:')
while True:
try:
age = int(input('請(qǐng)輸入員工年齡:'))
break
except ValueError:
print('請(qǐng)輸入大于0且小于150的純數(shù)字')
id_num = input('請(qǐng)輸入員工工號(hào):')
while True:
try:
money = int(input('請(qǐng)輸入員工薪資:'))
break
except ValueError:
print('請(qǐng)輸入大于0純數(shù)字:')
job = input('請(qǐng)輸入員工職位:')
department = input('請(qǐng)輸入員工所在部門:')
new_staff = Staff(name, age, id_num, money, job, department)
a = new_staff.info()
write()
def del_staff(self, ):
name = input('請(qǐng)輸入要?jiǎng)h除員工的姓名:')
for x in old_data:
if x['name'] == name:
del x
print('刪除成功')
else:
print('沒有該員工信息')
write()
def watch_staff(self):
name = input('請(qǐng)輸入員工姓名')
for x in old_data:
if x['name'] == name:
print(x)
else:
print('沒有該員工信息')
def heighest_money(self):
a = old_data[0]
for x in old_data:
if x['money'] > a['money']:
a = x
print('工資最高的員工信息:', a)
def avg_money(self):
depart = input('請(qǐng)輸入指定的部門')
for x in old_data:
if x['department'] == depart:
avg1 =[]
avg1.append(x['money'])
print('%s部門平均工資為%d' % (depart, sum(avg1)/int(len(avg1))))
def avg_age(self):
age1 = []
for x in old_data:
age1.append(x['age'])
print('所有員工平均年齡為%d' % (sum(age1)/int(len(age1))))
if __name__ == '__main__':
hr = HR_manager()
hr.add_staff()
待調(diào)試