Предмет: Информатика, автор: qwmateo

СРОЧНО ПОМОГИТЕ!!! PYTHON
Создайте класс Rectangle, задающий прямоугольник, параллельный осям координат. Прямоугольник будет задаваться двумя характеристиками: шириной и высотой. Создайте для него описанные ниже методы (заготовка класса представлена в виде псевдокода).


class Rectangle:
w -> integer // Ширина
h -> integer // Высота
Rectangle(w -> integer, h -> integer); // Конструктор

width() -> integer; // Получить ширину
height() -> integer; // Получить высоту

area() -> float; // Площадь
perimeter() -> float; // Периметр

С помощью написанного класса вычислите площадь и периметр прямоугольника, вводимого с клавиатуры.
Формат входных данных
С клавиатуры вводятся два натуральных числа числа — W и H (ширина и высота соответственно). Оба числа не превышают 1000.
Формат выходных данных
Требуется вывести два вещественных числа — площадь и периметр прямоугольника.
входные данные выходные данные
3 4 12.0000 14.0000


КЛАСС ДОЛЖЕН НАХОДИТЬСЯ НАД ЭТИМ КОДОМ(это проверка написания)

import sys
import logging

logging.basicConfig(format='%(message)s')

try:
r = Rectangle(10, 20)
except NameError:
logging.error('В программе не объявлен класс Rectangle')
sys.exit(1)
except TypeError:
logging.error('В конструктор класса Rectangle нужно передавать два числа')
sys.exit(1)

try:
if r.w != 10:
logging.error('В поле "w" объекта Rectangle не записана ширина')
sys.exit(1)
except AttributeError:
logging.error('В объекте Rectangle отсутствует поле "w"')
sys.exit(1)

try:
if r.h != 20:
logging.error('В поле "h" объекта Rectangle не записана высота')
sys.exit(1)
except AttributeError:
logging.error('В объекте Rectangle отсутствует поле "h"')
sys.exit(1)

try:
if r.width() != 10:
logging.error('Метод "width" объекта Rectangle должен возвращать ширину объекта')
sys.exit(1)
except AttributeError:
logging.error('В объекте Rectangle отсутствует метод "width"')
sys.exit(1)

try:
if r.height() != 20:
logging.error('Метод "height" объекта Rectangle должен возвращать высоту объекта')
sys.exit(1)
except AttributeError:
logging.error('В объекте Rectangle отсутствует метод "height"')
sys.exit(1)

try:
a = r.area()
if not isinstance(a, float):
logging.error('Метод "area" объекта Rectangle должен возвращать вещественное число')
sys.exit(1)
if a != 200.0:
logging.error('Метод "area" объекта Rectangle должен возвращать площадь объекта')
sys.exit(1)
except AttributeError:
logging.error('В объекте Rectangle отсутствует метод "area"')
sys.exit(1)

try:
p = r.perimeter()
if not isinstance(p, float):
logging.error('Метод "perimeter" объекта Rectangle должен возвращать вещественное число')
sys.exit(1)
if p != 60.0:
logging.error('Метод "perimeter" объекта Rectangle должен возвращать периметр объекта')
sys.exit(1)
except AttributeError:
logging.error('В объекте Rectangle отсутствует метод "perimeter"')
sys.exit(1)


qwmateo: выходные данные 12.0000 14.0000

Ответы

Автор ответа: asilvejstruk
1

class Rectangle:

   def __init__(self, w, h):

       self.w = w

       self.h = h

   

   def width(self):

       return self.w

   

   def height(self):

       return self.h

   

   def area(self):

       return self.w * self.h

   

   def perimeter(self):

       return 2 * (self.w + self.h)


qwmateo: можешь пожалуйста написать чтобы функция area и perimeter возвращали вещественные числа?
qwmateo: можешь пожалуйста написать чтобы код выводит вещественные числа
asilvejstruk: w,h = map(int, input().split())
r = Rectangle(w, h)
print("%.4f %.4f" % (r.area(), r.perimeter()))
asilvejstruk: import sys
import logging

logging.basicConfig(format='%(message)s')

class Rectangle:
def init(self, w, h):
self.w = w
self.h = h
def width(self):
return self.w
def height(self):
return self.h
def area(self):
return float(self.wself.h)
def perimeter(self):
return float(2*(self.w+self.h))

w,h = map(int, input().split())
r = Rectangle(w, h)
print("%.4f %.4f" % (r.area(), r.perimeter()))
Похожие вопросы
Предмет: Другие предметы, автор: levchenkokate6
Предмет: Другие предметы, автор: bezotechestvomaria
Тестовые задания для 6 класса по темам: 3 «Материаловедение.

Машиноведение».

18. Волокна животного происхождения относятся к волокнам:

а) искусственным

б) синтетическим

в) натуральным

19. К волокнам животного происхождения относятся:

а) шерсть

б) хлопок

в) пух

г) шѐлк

20. К гигиеническим свойствам тканей относятся:

а) прочность

б) гигроскопичность

в) теплозащитные

г) пылеѐмкость.

21. Из какой ткани лучше шить зимнюю одежду:

а) шерстяной

б) шѐлковой

в) капрона

22. Определите тип волокна по горению:

а) горит желтым пламенем, запах жжѐной бумаги, образуется серый пепел;

б) при горении волокна спекаются, образуя чѐрный хрупкий шарик, ощущается

запах жжѐного пера;

в) плавится и горит жѐлтым коптящим пламенем.

23. Почему верхнюю (игольную) нитку вдевают в ушко иглы со стороны длинного

24.Обозначьте цифрами от 1 до 4 правильную последовательность окончания работы на швейной машине:

а) поднять лапку, левой рукой убрать изделие в сторону

б) подложить под лапку кусок ткани, опустить лапку

в) обрезать нити, оставив концы длиной 10- 15 см.

г) поднять иглу и нитепритягиватель в верхнее положение

25. Перечислите приводы швейных машин

Тестовые задания для 6 класса по теме: 4 «Конструирование и моделирование швейных изделий».

26. Расшифруйте условные обозначения мерок:

а) Сш

б) Сг

в) Оп

г) Ди

27. Какие мерки записывают в половинном размере?

а) Ди

б) Сг

в) Оп

г) Сб

28. По какой мерке определяется ширина ночной сорочки:

а) Оп

б) Ст

в) Сг

29. Назовите детали ночной сорочки:

а) перед

б) заднее полотнище

в) спинка

30. Какие ткани используют для пошива ночных сорочек?

31. Вырез горловины обрабатывают:

а) кружевом

б) полоской ткани

в) подкройной обтачкой

32. При выкраивании подкройной обтачки еѐ долевую нить располагают:

а) поперѐк обтачки

б) по направлению долевой нити основной детали

в) под углом 45˚

33. Нижние срезы рукавов обрабатывают швом:

а) соединительным

б) накладным

в) в подгибку с закрытым срезом

34. Застрочить – это:

а) соединить две одинаковые детали машинной строчкой

б) закрепить подогнутый край машинной строчкой

в) соединить мелкую деталь с основной машинной строчкой

35. Боковой срез сорочки обрабатывают швом:

а) двойным

б) накладным

в) в подгибку с открытым срезом.