Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

4.5 KiB

Общее контрольное задание по теме 9

Ефремов Станислав, А-02-23

Задание

Создайте и запишите в модуль класс, содержащий следующие компоненты:

  • конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения;

  • метод для обеспечения операции повышения оклада сотрудника на заданное значение;

  • метод для обеспечения перевода сотрудника из одного отдела в другой;

  • метод для изменения должности сотрудника;

  • свойство, содержащее перечень (список) поощрений сотрудника.

Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобра-зите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности.

Решение


class rabotyaga:

    def __init__(self, fio="-", otdel="-", 
                 dolzhnost="-", oklad=0):
                
        self.fio = fio
        self.otdel = otdel
        self.dolzhnost = dolzhnost
        self.oklad = oklad

        self.__pooshreniya = []
            
    def povysit_oklad(self, summa):

            self.oklad += summa
            print(f"Оклад сотрудника {self.fio} повышен до {self.oklad}")

    def perevesti_otdel(self, noviy_otdel):

        self.otdel = noviy_otdel
        print(f"Сотрудник {self.fio} переведен в отдел '{noviy_otdel}'")
    
    def izmenit_dolzhnost(self, novaya_dolzhnost):

        self.dolzhnost = novaya_dolzhnost
        print(f"Сотрудник {self.fio} переведен на должность '{novaya_dolzhnost}'")
    
    def get_pooshreniya(self):
        return self.__pooshreniya
    
    def set_pooshreniya(self, value):
        self.__pooshreniya.append(value)
        print(f"Добавлено поощрение для {self.fio}: '{value}'")
    
        

    pooshreniya = property(get_pooshreniya, set_pooshreniya)


Результат

sotrudnik_nomer_1 = rabotyaga('Жмышенко Валерий Альбертович', 'Отдел по енотам', 'Мойщик', 10000)
sotrudnik_nomer_2 = rabotyaga('Зубенко Михаил Петрович', 'Мафия', 'Босс', 20000000)
sotrudnik_nomer_2.fio
'Зубенко Михаил Петрович'
sotrudnik_nomer_1.fio
'Жмышенко Валерий Альбертович'
sotrudnik_nomer_1.otdel
'Отдел по енотам'
sotrudnik_nomer_2.dolzhnost
'Босс'
sotrudnik_nomer_1.povysit_oklad(1)
Оклад сотрудника Жмышенко Валерий Альбертович повышен до 10001
sotrudnik_nomer_1.oklad
10001
sotrudnik_nomer_2.perevesti_otdel('Отдел по борьбе с неправомерным оборотом денежных средства')
Сотрудник Зубенко Михаил Петрович переведен в отдел 'Отдел по борьбе с неправомерным оборотом денежных средства'
sotrudnik_nomer_1.izmenit_dolzhnost('Фоторедактор фотолуп')
Сотрудник Жмышенко Валерий Альбертович переведен на должность 'Фоторедактор фотолуп'

sotrudnik_nomer_1.pooshreniya = 'Део нексия на 54-ый день рождения'
Добавлено поощрение для Жмышенко Валерий Альбертович: 'Део нексия на 54-ый день рождения'
sotrudnik_nomer_1.pooshreniya
['Део нексия на 54-ый день рождения']
sotrudnik_nomer_1.pooshreniya = '1000 тенге'
Добавлено поощрение для Жмышенко Валерий Альбертович: '1000 тенге'
sotrudnik_nomer_1.pooshreniya
['Део нексия на 54-ый день рождения', '1000 тенге']