Every Person is Unique Every Person is Unique
Simple
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 ... , количеством проработанных лет - , средней зарплатой за весь период работы - (сумма в месяц), страной и городом проживания - [ , ] и полом - . Параметр 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.

Become Awesome

  • No Ads
  • No Limits
  • More Content
Settings
Code:
Other:
CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

pip3 install checkio_client

Configure your tool

checkio --domain=py config --key=

Sync solutions into your local folder

checkio sync

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

checkio serv -d

Alternatevly, you can install Chrome extension or FF addon

checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

×
 
 
<< <
> >>
exec show

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Go to the next mission