Every Person is Unique
С каждым годом количество ваших знакомых все увеличивается и следить за информацией об их жизнях становится всё сложнее. Давайте упростим и немного автоматизируем этот процесс. В конце концов, именно облегчение рутинных процессов - одна из ключевых задач программирования.
Вам необходимо создать класс 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...
Возвращает полное имя (имя и фамилию, разделенные пробелом).
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 в полной мере.
Предусловие: Все данные корректны.