привет всем. помогите решить задачу
Создать классы и вывести на экран результаты их методов.
(a) создать класс лиц Person:
(1) параметры lname, fname и byear определяют соответственно фамилию, имя и
год рождения лица;
(2) метод (конструктор) int инициализирует "собственный" объект self этого класу с атрибутами lname, fname и _ _ byear (последний атрибут закрыт (инкапсулированный) для непосредственного доступа);
(3) функцию byear с соответствующими декораторами
@property I
@byear.setter
использовать для доступа и изменения значений атрибута byear ;
(4) метод _ _ str _ _ возвращает строчный литерал с данными о лице в форме
"Фамилия имя, р. н.";
(5) метод getage возвращает возраст лица на момент указанного в его аргументе года;
(b) создать подкласс Student класса Person:
(1) конструктор подкласса int наследуется с надкласу Person из инициалы-
с помощью двух дополнительных атрибутов sem и session , определяющих семестр обучение и список экзаменационных оценок за соответствующую сессию;
(2) переопределить метод _ _ str, возвращающий строчный литерал с данными
о студенте в форме " Фамилия Имя, р. н., семестр, [список оценок]";
(3) доопределить метод mean , который возвращает средний балл за сессию.
(c) создать объект man = Person(
′dobynda′,′yuri′, 2003) I вывести на экран данные осо-
бы i ее возраст на текущий год (
datetime.now().year);
(d) выполнить присвоение man.byear = 2005 i, выведя на экран данные о лице, показать, что атрибут byear = 2005 не изменил своего значения; далее изменить
значение этого атрибута с помощью функции byear ;
(e) создать студента st1 = Student(′dobynda′, ′yuri′, 2003, 1, [175, 186, 170]) i вывести на экран его данные, возраст i средний балл сессии;
(f) создать еще 3-х студентов
st2 = Student(′boiko′,′ marko′, 2002, 1, [170, 182, 174]) ,
st3 = Student(′nykolyn′,′ karolina′, 2004, 1, [165, 170, 173]) ,
st4 = Student(′tryfonova′,′ ksenia′, 2003, 1, [180, 175, 172]) i отсортировать список всех студентов по убыванию их среднего балла sorted (list, key, order) .