Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Python, срочно задача

Напишите класс DwarvesCastle (Замок для гномов). Экземпляр класса инициализируется с аргументами:

полезная площадь, вместимость в гномах, расположение.


Класс обеспечивает выполнение методов (dc – экземпляр класса):

экземпляры класса можно сравнивать: сначала по вместимости, затем по площади, затем по расположению по алфавиту;


экземпляры класса можно умножать друг на друга: dc2 = dc * dc1, возвращается новый экземпляр с атрибутами:

площадь – большая из двух,

вместимость – среднее арифметическое, округленное до целого вниз,

расположение – большее по алфавиту;


из экземпляра класса можно вычесть число: dc -= number, из площади вычитается половина числа (если число нечетное – меньшая часть), вместимость уменьшается на число, если не останется меньше 1, в этом случае только до 1;


экземпляр класса можно разделить на число: res = dc / number, возвращается список из экземпляров класса длиной, равной числу, с атрибутами:

площадь – целая часть от деления исходной площади на число; остаток остается у исходного экземпляра;

вместимость – 1; у исходного не меняется;

расположение – такое же, как у исходного экземпляра;


экземпляр класса можно вызвать без аргумента – возвращается значение площадь * длина расположения // вместимость;


expand() – расшириться – увеличить площадь на значение аргумента, если он положительный, и уменьшить, если отрицательный;


__str__ – возвращается строка:

Dwarf Castle location <расположение> accommodates <вместимость> dwarves in an area of <площадь>.

__repr__ – возвращается строка:

DwarvesCastle(<площадь>, <вместимость>, '<расположение>')

По дате
По рейтингу
Аватар пользователя
Просветленный

деление на число сам сделай

Аватар пользователя
Мудрец

ну, бесплатно я бы столько кода точно не стал писать. почитай про дандер методы и сможешь сам все сделать