Вариант 3 PYTHON Создайте класс Фигура Атрибуты: тип фигуры (квадрат, круг, прямоугольник, треугольник), размеры (массив) Размеры квадрата задаются одной стороной Размеры круга радиусом Размеры прямоугольника двумя сторонами Размер треугольника 3 сторонами Вводимые размеры всегда больше 0. Создать объект класса можно обязательно задав тип фигуры, размеры по умолчанию 0 Можно получить площадь каждой фигуры, периметр, размеры (размеры выводить в порядке возрастания). Площади и периметры округлить до целых чисел. Фигуру можно возвести в квадрат (возводятся все размеры в квадрат) Разрешено менять строки только внутри класса. Дополнительные библиотеки подключать можно.
Sample Input:
Sample Output:
[0]
[2]
8 19 23 14
4 28 13 12
[4] 16 16
код который дан
class Figure: def __init__():
a = Figure('квадрат')
b = Figure('круг', [3])
c = Figure('треугольник', [5, 7, 11])
d = Figure('прямоугольник', [3, 4])
print(a.get_size()) a.set_size([2])
print(a.get_size())
print(a.perimeter(), b.perimeter(), c.perimeter(), d.perimeter()) print(a.square(), b.square(), c.square(), d.square()) f = a ** 2 print(f.get_size(), f.perimeter(), f.square())
Ответы
Ответ дал:
2
Ответ:
Программа на скрине вместе с результатом работы.
============
Не забывайте нажать "Спасибо", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"
Бодрого настроения и добра!
Успехов в учебе
Приложения:
MaxLevs:
Я бы понял, если бы они сделали из Figure билдер и создавали новые объекты как Figure.createNew("Треугольник", [a, b, c])
Но, черт возьми! Они запихнули всё в один класс! Зачем? Всё равно каша получается. Никакого разделения ответственности здесь нет. Тогда зачем нужен ООП?
заместо "if size == None" лучше использовать "if size is None". Питонье приведение типов при таком сравнении может выдавать весьма забавные результаты
MaxLevs, у меня тоже была такая идея, но было сказано не трогать код вне класса
Не трогать код вне класса относится к тестовому коду
Подключать библиотеки можно, а это делается тоже "вне" кода, написанного в классе
При этом свои библиотеки - тоже библиотеки
Сложив два + два получаем добро на написание ещё 4 классов. Главное сохранить класс Figure как интерфейс к "тестам", написанным ниже
Но это не делает задание меньшим злом
Препод живет во вселенноq С
Вас заинтересует
2 года назад
2 года назад
7 лет назад
7 лет назад