Замок волшебника Все почувствовали, как замок опускается. Поначалу он летел настолько быстро, что многие принцессы вскрикнули, ведь желудок так и норовил остаться в небе. Вероятно, Кальцифер так долго был в чуждом обличье, что несколько разучился управлять замком. Впрочем, через минуту полёт несколько замедлился и стал до того плавным, что его почти никто не замечал. Это было очень кстати, поскольку замок на лету приметно уменьшался.
Напишите класс WizardsCastle, экземпляр которого при инициализации принимает аргументы: – имя хозяина; – размер; – уровень магии.
Класс должен обеспечивать функциональность (wc – экземпляр класса):
– change_size(value) – увеличить (если value > 0) или уменьшить (в обратном случае) размер на значение аргумента, не может стать больше 1000 и меньше 10, изменяется только до этих значений;
– экземпляр класса можно умножить на положительное число: wc *= number, при этом размер увеличивается в number раз, а уровень магии на number // 2; при этом остаются те же ограничения на изменение размера, для уровня магии ограничений нет;
– экземпляр класса можно вызвать с аргументом-числом; возвращается значение: аргумент ** магия // размер;
__str__ – возвращает строку:
's Castle of size and magic
– экземпляры класса можно сравнивать: сначала по уровню магии, затем по размеру, затем по имени по алфавиту; для этого нужно реализовать методы сравнения: <, >, <=, >=, ==, !=.
Примечания В файле, сдаваемом в тестирующую систему, не должно быть ничего, кроме класса и, возможно, вс функций.