diff options
| author | Andrew Guschin <saintruler@gmail.com> | 2021-04-04 21:39:38 +0400 |
|---|---|---|
| committer | Andrew Guschin <saintruler@gmail.com> | 2021-04-04 21:39:38 +0400 |
| commit | e9208ade043f2304225d1e1150f57fa31aa49c28 (patch) | |
| tree | 3e0707caa964c7c6470b3d1779ce0949d81fdee6 /python-func/task11.py | |
| parent | af807d85ec70130dc1b28d82b454d11731f932ee (diff) | |
Добавил 8, 10, 11 задачи по питону
Diffstat (limited to 'python-func/task11.py')
| -rw-r--r-- | python-func/task11.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/python-func/task11.py b/python-func/task11.py new file mode 100644 index 0000000..cd759fd --- /dev/null +++ b/python-func/task11.py @@ -0,0 +1,48 @@ +from math import sqrt + + +class Point: + def __init__(self, x: float, y: float): + self.x = x + self.y = y + + +def dist(p1: Point, p2: Point) -> float: + return sqrt((p2.x - p1.x) ** 2 + (p2.y - p1.y) ** 2) + + +def area_triangle(p1: float, p2: float, p3: float) -> float: + p = (a + b + c) / 2 + return sqrt(p * (p - a) * (p - b) * (p - c)) + + +def solve(a: Point, b: Point, c: Point, d: Point, e: Point) -> float: + ab = dist(a, b) + ac = dist(a, c) + ad = dist(a, d) + ae = dist(a, e) + bc = dist(b, c) + cd = dist(c, d) + de = dist(d, e) + + a1 = area_triangle(ab, bc, ac) + a2 = area_triangle(ac, cd, ad) + a3 = area_triangle(ad, de, ae) + + return a1 + a2 + a3 + + +ax, ay = map(int, input("Ax, Ay = ").split()) +bx, by = map(int, input("Bx, By = ").split()) +cx, cy = map(int, input("Cx, Cy = ").split()) +dx, dy = map(int, input("Dx, Dy = ").split()) +ex, ey = map(int, input("Ex, Ey = ").split()) + +res = solve( Point(ax, ay) + , Point(bx, by) + , Point(cx, cy) + , Point(dx, dy) + , Point(ex, ey) ) + +print(f"Площадь фигуры со введёнными точками равна {res}") + |