Skip to content

Commit 3d13b6f

Browse files
committed
1 parent 86b94e4 commit 3d13b6f

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

lesson06/home_work/hw06_easy.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,44 @@
11
# Задача-1: Написать класс для фигуры-треугольника, заданного координатами трех точек.
22
# Определить методы, позволяющие вычислить: площадь, высоту и периметр фигуры.
3+
from math import sqrt
4+
5+
6+
class Triangle(object):
7+
def __init__(self, a, b, c):
8+
self._a = a
9+
self._b = b
10+
self._c = c
11+
12+
@property
13+
def square(self):
14+
return 0.5 * abs((self._b[0] - self._a[0]) * (self._c[1] - self._a[1]) - (self._c[0] - self._a[0]) * (
15+
self._b[1] - self._a[1]))
16+
17+
def long(self, x, y):
18+
return sqrt((y[0] - x[0]) ** 2 + (y[1] - x[1]) ** 2)
19+
20+
@property
21+
def perimeter(self):
22+
return self.long(self._a, self._b) + self.long(self._b, self._c) + self.long(self._a, self._c)
23+
24+
@property
25+
def height(self):
26+
return [2 * self.square / self.long(self._a, self._b), 2 * self.square / self.long(self._a, self._c),
27+
2 * self.square / self.long(self._b, self._c)]
28+
29+
30+
trin = Triangle([2, 10], [5, 4], [8, 3])
31+
print(trin.square)
32+
print (trin.long(trin._a, trin._b))
33+
print (trin.perimeter)
34+
print (trin.height)
335

436

537
# Задача-2: Написать Класс "Равнобочная трапеция", заданной координатами 4-х точек.
638
# Предусмотреть в классе методы:
739
# проверка, является ли фигура равнобочной трапецией;
840
# вычисления: длины сторон, периметр, площадь.
941

42+
class Isosceles_trapezium:
43+
def __init__(self, a, b, c, d):
44+

0 commit comments

Comments
 (0)