美文网首页
day014 作业 08-01

day014 作业 08-01

作者: Yehao_ | 来源:发表于2018-08-01 20:44 被阅读0次

    作业:
    面向对象人力资源管理系统:

    • 能存多个员工信息
      (每个员工的信息有:姓名、年龄、工号、薪资、职位、部门)
    • 新员工入职(添加员工)
    • 员工离职(删除员工)
    • 查看某个员工的信息
    • 查询薪资最高的员工
    • 查询指定部门中所有员工的平均薪资
    • 求整个公司的员工的平均年龄

    (可以根据能力改善和添加功能,做到尽量贴近生活)

    from random import randint
    
    
    class Staff:
        def __init__(self, name='', age=0):
            self.name = name
            self.age = age
            self.staff_id = '2018' + str(randint(0, 100)).rjust(3, '0')
            self._salary = 0
            self._position = ''
            self._department = ''
    
        @property
        def salary(self):
            return self._salary
    
        @salary.setter
        def salary(self, salary):
            self._salary = salary
    
        @property
        def position(self):
            return self._position
    
        @position.setter
        def position(self, position):
            self._position = position
    
        @property
        def department(self):
            return self._department
    
        @department.setter
        def department(self, department):
            self._department = department
    
    def add_staff(name, age):
        return staffs.append(Staff(name, age))
    
    def del_staff(staff_id):
        for staff in staffs[:]:
            if staff.staff_id == staff_id:
                del staff
    
    def query_staff(name):
        same_name = []
        for staff in staffs[:]:
            if staff.name == name:
                same_name.append(staff)
                return same_name
    
    def query_all_staff():
        for staff in staffs[:]:
            print(staff.name, staff.age, staff.salary, staff.staff_id)
    
    def query_highest_salary():
        max_salary = 0
        for staff in staffs:
            if staff.salary > max_salary:
                max_salary = staff.salary
        return max_salary
    
    def query_avg_salary(department):
        sum_salary = 0
        num = 0
        for staff in staffs:
            sum_salary += staff.salary
            num += 1
        avg_salary = sum_salary / num
        return avg_salary
    
    def query_avg_age():
        sum_age = 0
        num = 0
        for staff in staffs:
            sum_age += staff.age
            num += 1
        avg_age = sum_age / num
        return avg_age
    

    未完待续...

    相关文章

      网友评论

          本文标题:day014 作业 08-01

          本文链接:https://www.haomeiwen.com/subject/ckfdvftx.html