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

Вариант 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())

Ответы

Автор ответа: serd2011
2

Ответ:

Программа на скрине вместе с результатом работы.

============

Не забывайте нажать "Спасибо", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"

Бодрого настроения и добра!

Успехов в учебе

Приложения:

MaxLevs: Я бы понял, если бы они сделали из Figure билдер и создавали новые объекты как Figure.createNew("Треугольник", [a, b, c])
MaxLevs: Но, черт возьми! Они запихнули всё в один класс! Зачем? Всё равно каша получается. Никакого разделения ответственности здесь нет. Тогда зачем нужен ООП?
KnowsUser1: заместо "if size == None" лучше использовать "if size is None". Питонье приведение типов при таком сравнении может выдавать весьма забавные результаты
serd2011: MaxLevs, у меня тоже была такая идея, но было сказано не трогать код вне класса
MaxLevs: Не трогать код вне класса относится к тестовому коду
MaxLevs: Подключать библиотеки можно, а это делается тоже "вне" кода, написанного в классе
MaxLevs: При этом свои библиотеки - тоже библиотеки
MaxLevs: Сложив два + два получаем добро на написание ещё 4 классов. Главное сохранить класс Figure как интерфейс к "тестам", написанным ниже
MaxLevs: Но это не делает задание меньшим злом
MaxLevs: Препод живет во вселенноq С
Похожие вопросы
Предмет: Английский язык, автор: Аноним
Предмет: История, автор: temir24