Module (58%)
Section (100%)
Лабораторная работа

Время выполнения

30-60 минут

Уровень сложности

Средний

Цели

  • улучшение навыков учащегося в создании классов с нуля;
  • использование композиции.

Сценарий

Теперь мы собираемся встроить класс Point (см. лабораторную работу 3.4.1.14) в другой класс. Кроме того, мы собираемся поместить три точки в один класс, что позволит нам определить треугольник. Как мы можем это сделать?

Новый класс будет называться Triangle, и вот, что нам нужно:

  • конструктор принимает три аргумента - все они являются объектами класса Point;
  • точки хранятся внутри объекта как частный список;
  • класс предоставляет метод без параметров под названием perimeter(), который вычисляет периметр треугольника, описанного тремя точками; периметр - это сумма длин всех сторон (это просто напоминание, хотя мы уверены, что Вы сами это прекрасно знаете).

Дополните шаблон, который мы предоставили в редакторе. Запустите свой код и проверьте, совпадает ли оцениваемый периметр с нашим.

Ниже Вы можете скопировать код класса Point, который мы использовали в предыдущей лабораторной работе:



Ожидаемый вывод

3.414213562373095



Code

import math


class Point:
#
# Код скопирован из предыдущей лабораторной работы.
#


class Triangle:
def __init__(self, vertice1, vertice2, vertice3):
#
# Напишите здесь код
#

def perimeter(self):
#
# Напишите здесь код
#


triangle = Triangle(Point(0, 0), Point(1, 0), Point(0, 1))
print(triangle.perimeter())
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×