Every Person is Unique Every Person is Unique
Moderate
EN Russian

С каждым годом количество ваших знакомых все увеличивается и следить за информацией об их жизнях становится всё сложнее. Давайте упростим и немного автоматизируем этот процесс. В конце концов, именно облегчение рутинных процессов - одна из ключевых задач программирования.

Вам необходимо создать класс Person, а также несколько методов для работы с его экземплярами. Описание класса смотрите далее.

class Person(first_name, last_name, birth_date, job, working_years, salary, country, city, gender='unknown')

Возвращает новый экземпляр класса Person c именем и фамилией [first_name, last_name], датой рождения - birth_date (в формате 'dd.mm.yyyy'), текущим местом работы - job, количеством проработанных лет - working_years..., средней зарплатой за весь период работы - (сумма в месяц), страной и городом проживания - [, ] и полом - . Параметр gender может принимать значения 'male' или 'female'. Если этот параметр не задан, то значение по умолчанию - 'unknown'.


Возвращает полное имя (имя и фамилию, разделенные пробелом).

Person (‘John’, ‘Smith’, ‘19.09.1979’, ‘welder’, 15, 3600, ‘Canada’, ‘Vancouver’, ‘male’).name() == ‘John Smith’

age()

Возвращает возраст человека - количество полных прожитых лет. (Считайте текущим днем 01.01.2018)

Person (‘John’, ‘Smith’, ‘19.09.1979’, ‘welder’, 15, 3600, ‘Canada’, ‘Vancouver’, ‘male’).age() == 38

work()

Возвращает род занятий человека в предложении вида: ‘He is a ...’ (если male) ‘She is a ...’ (female) ‘Is a ...’ (unknown) В зависимости того, какой пол человека задан (м/ж) или, если пол неопределен - возвращает без указания пола.

Person (‘Hanna Rose’, ‘May’, ‘05.12.1995’, ‘designer’, 2.2, 2150, ‘Austria’, ‘Vienna’).work() == ‘Is a designer’

money()

Возвращает количество денег, заработанное за весь период работы. Сумму следует выводить в формате xx xxx … - разбивая каждых 3 разряда пробелами. Например: ‘10 568’ ‘1 051 422’

Person (‘John’, ‘Smith’, ‘19.09.1979’, ‘welder’, 15, 3600, ‘Canada’, ‘Vancouver’, ‘male’).money() == ‘648 000’

home()

Возвращает страну и город проживания в формате: ‘Lives in city, country’

Person (‘Hanna Rose’, ‘May’, ‘05.12.1995’, ‘designer’, 2.2, 2150, ‘Austria’, ‘Vienna’).home() == ‘Lives in Vienna, Austria’

В этом задании все входные данные коректны, и проверку значений можно не выполнять.

Входные данные: операторы и выражения, использующие класс Person.

Выходные данные: поведение экземпляра как описано выше.

Как это используется: Работа с классами и объектно-ориентированным программированием - более высокий уровень мастерства, которым следует овладеть, чтобы иметь возможность использовать Python в полной мере.

Предусловие: Все данные корректны.

You should be an authorized user in order to see the full description and start solving this mission.