Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста решить задачу

Матвей Горбатенко Знаток (401), на голосовании 1 неделю назад
Напишите класс «Figure» («Фигура»), который будет содержать метод
для расчета периметра. Затем создайте класс «Rectangle» («Прямоугольник»),
который будет наследоваться от класса «Figure» («Фигура») и переопределять
его метод для расчета соответствующей величины. Используйте декоратор для
проверки корректности вводимых параметров (например, сторона не может
быть отрицательным числом).
Голосование за лучший ответ
марк вайсмен Ученик (204) 1 месяц назад
это школьная программа ?
Матвей ГорбатенкоЗнаток (401) 1 месяц назад
не знаю.... я в универе, но не программист, поэтому может быть и школьная
Celtic Hammer Мудрец (16538) 1 месяц назад
Периметр вот тебе
 class Figure: 
def __init__(self, w,h):
self.w = w
self.h = h

def perimeter(self):
return (self.w + self.h) * 2

f = Figure(10,5)
print(f.perimeter())
А дочерние классы, переопределения и декораторы изволь сам...
Интересно, как можно переопределить расчет периметра? Так что ли?
 class Figure: 
def __init__(self, w,h):
self.w = w
self.h = h

def perimeter(self):
return (self.w + self.h) * 2

class Rectangle (Figure):
def perimeter_n(self):
if self.w < 0 or self.h < 0:
return False
return (f'периметр: {self.perimeter()}')


f1 = Rectangle(10,6)
print(f1.perimeter_n())
f2 = Rectangle(10,-6)
print(f2.perimeter_n())
периметр: 32
False
Похожие вопросы