# -*- coding: utf-8 -*-
"""
-------------------------------------------------
File Name: 1
Author : LPP
E-mail : l.piaopiao@qq.com
date: 2018/8/1
-------------------------------------------------
Change Activity:
2018/8/1:
-------------------------------------------------
"""
"""
作業(yè):
面向?qū)ο笕肆Y源管理系統(tǒng):
- 能存多個員工信息
(每個員工的信息有:姓名、年齡犹赖、工號蹭睡、薪資炒嘲、職位胯舷、部門)
- 新員工入職(添加員工)
- 員工離職(刪除員工)
- 查看某個員工的信息
- 查詢薪資最高的員工
- 查詢指定部門中所有員工的平均薪資
- 求整個公司的員工的平均年齡
"""
class Staff:
def __init__(self, name, age, num='', salary=0, post='', department=''):
self.name = name
self.age = age
self.num = num
self.salary = salary
self.post = post
self.department = department
def print_staff_info(self): # (每個員工的信息有:姓名王带、年齡埂软、工號享言、薪資峻凫、職位、部門)
print('姓名: ', self.name)
print('年齡: ', self.age)
print('工號: ', self.num)
print('薪資: ', self.salary)
print('職位: ', self.post)
print('部門: ', self.department)
class Company:
__staff_No = 0 # 員工工號編號基數(shù)
def __init__(self):
self.name = ''
self.staffs = []
self.staff_num = 0 # 員工數(shù)量
@classmethod
def __get_No(cls):
cls.__staff_No += 1
num = 'py1805' + str(cls.__staff_No).rjust(4, '0')
return num
def new_staff(self):
name = input('姓名:')
age = int(input('年齡:'))
num = Company.__get_No()
salary = int(input('薪資:'))
post = input('職位:')
department = input('部門:')
staff = Staff(name, age, num, salary, post, department)
self.staffs.append(staff)
self.staff_num += 1
return staff
def show_staff_info(self, flag):
"""1. 按姓名查看
2. 按工號查看
"""
if flag == 1:
name = input('請輸入需要查看信息的員工姓名:')
names = []
for staff in self.staffs:
if staff.name == name:
names.append(staff)
if not names:
print('公司暫無此員工!!')
return
for staff in names:
staff.print_staff_info()
print('=====================================')
else:
num = input('請輸入需要查看信息的員工工號:')
for staff in self.staffs:
count = 0
if staff.num == num:
count += 1
staff.print_staff_info()
return True
print('該工號有誤,或沒有對應的員工')
return False
def del_staff(self, staff_No):
for staff in self.staffs:
if staff.num == staff_No:
self.staffs.remove(staff)
self.staff_num -= 1
return True
print('沒有找到該員工')
return False
def best_wages(self):
"""
:return: (薪資最高者的姓名,薪資最高者)
"""
the_highest = self.staffs[0]
for staff in self.staffs:
if staff.salary > the_highest.salary:
the_highest = staff
return the_highest.name, the_highest
def specified_part_aver_salary(self, department):
"""
:param department: 部門名稱
:return: 平均薪資
"""
all_salary = []
count = 0
for staff in self.staffs:
if staff.department == department:
count += 1
all_salary.append(staff.salary)
if all_salary:
return sum(all_salary)/count
else:
print('沒有這個部門或者這個部門還沒有人')
def aver_age(self):
all_age = 0
for staff in self.staffs:
all_age += staff.age
if all_age:
return all_age/self.staff_num
if __name__ == '__main__':
company = Company()
company.new_staff()
company.show_staff_info()
company.best_wages()
company.del_staff()
day13 人力資源管理系統(tǒng)初步實現(xiàn) 2018-08-01
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門夹孔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來被盈,“玉大人,你說我怎么就攤上這事搭伤。” “怎么了袜瞬?”我有些...
- 文/不壞的土叔 我叫張陵怜俐,是天一觀的道長。 經(jīng)常有香客問我邓尤,道長拍鲤,這世上最難降的妖魔是什么贴谎? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮季稳,結(jié)果婚禮上擅这,老公的妹妹穿的比我還像新娘。我一直安慰自己景鼠,他們只是感情好仲翎,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铛漓,像睡著了一般溯香。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浓恶,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼塞耕!你這毒婦竟也來了蚀腿?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布掠拳,位于F島的核電站,受9級特大地震影響纸肉,放射性物質(zhì)發(fā)生泄漏溺欧。R本人自食惡果不足惜喊熟,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姐刁。 院中可真熱鬧芥牌,春花似錦、人聲如沸聂使。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽岩遗。三九已至扇商,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宿礁,已是汗流浹背案铺。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 思路型代碼 測試代碼可以自己設計
- 推薦歌曲 眉間雪 試聽 這首歌原曲來自吳雨霏的《生命樹》后因劍網(wǎng)3官方改編為視頻榨婆,用于劍網(wǎng)3“蒼雪龍城”版本磁携,純陽...