day13 人力資源管理系統(tǒng)初步實現(xiàn) 2018-08-01

# -*- 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()

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末览露,一起剝皮案震驚了整個濱河市荧琼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌差牛,老刑警劉巖命锄,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異偏化,居然都是意外死亡脐恩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門夹孔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來被盈,“玉大人,你說我怎么就攤上這事搭伤。” “怎么了袜瞬?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵怜俐,是天一觀的道長。 經(jīng)常有香客問我邓尤,道長拍鲤,這世上最難降的妖魔是什么贴谎? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮季稳,結(jié)果婚禮上擅这,老公的妹妹穿的比我還像新娘。我一直安慰自己景鼠,他們只是感情好仲翎,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铛漓,像睡著了一般溯香。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浓恶,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天玫坛,我揣著相機與錄音,去河邊找鬼包晰。 笑死湿镀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的伐憾。 我是一名探鬼主播肠骆,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼塞耕!你這毒婦竟也來了蚀腿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扫外,失蹤者是張志新(化名)和其女友劉穎莉钙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筛谚,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡磁玉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了驾讲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚊伞。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吮铭,靈堂內(nèi)的尸體忽然破棺而出时迫,到底是詐尸還是另有隱情,我是刑警寧澤谓晌,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布掠拳,位于F島的核電站,受9級特大地震影響纸肉,放射性物質(zhì)發(fā)生泄漏溺欧。R本人自食惡果不足惜喊熟,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姐刁。 院中可真熱鬧芥牌,春花似錦、人聲如沸聂使。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岩遗。三九已至扇商,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宿礁,已是汗流浹背案铺。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留梆靖,地道東北人控汉。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像返吻,于是被迫代替她去往敵國和親姑子。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容