Vitaliy_Novichikhin

Stepik 1.3.13 Work good

May 27th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.87 KB | None | 0 0
  1. # подключить модуль math или импортировать из него все нужные функции
  2. from math import sqrt, acos, degrees
  3.  
  4. x_a = float(input())#x_a =
  5.  
  6. y_a = float(input())#y_a =
  7.  
  8. x_b = float(input())#x_b =
  9.  
  10. y_b = float(input())#y_b =
  11.  
  12. x_c = float(input())#x_c =
  13.  
  14. y_c = float(input())#"y_c = "
  15.  
  16. # реализовать решение задачи
  17.  
  18. # Реализовать функцию для вычисления длины отрезка с координатами концов (x0, y0) и (x1, y1).
  19. def compute_len(x_0,y_0,x_1,y_1):
  20.    
  21.     len_line = sqrt((x_1 - x_0) ** 2 + (y_1 - y_0) ** 2)
  22.    
  23.     return len_line
  24. # 3. Реализовать функцию для вычисления площади треугольника по трем сторонам a_1, a_2, a_3.
  25.  
  26. def compute_area(a_1, a_2, a_3):
  27.    
  28.     p = (a_1 + a_2 + a_3) / 2
  29.    
  30.     area = sqrt(p * (p - a_1) * (p - a_2) * (p - a_3))
  31.    
  32.     return area
  33.  
  34.  
  35. #6. Вычислить длины сторон треугольника.
  36.  
  37. c = compute_len(x_a, y_a, x_b, y_b)
  38. a = compute_len(x_b, y_b, x_c, y_c)
  39. b = compute_len(x_a, y_a, x_c, y_c)
  40.  
  41. if a + b <= c or b + c <= a or a +c <= b:
  42.    
  43.     print("error")
  44.  
  45.  
  46. else:    
  47.     s = compute_area(a, b, c)
  48.    
  49.     p = a + b + c #периметр треугольника
  50.    
  51.     r = (sqrt(((p/2-a)*(p/2-b)*(p/2-c))/(p/2))) #радиус вписанной окружности
  52.    
  53.     R = (a*b*c)/(4*s) #радиус описанной окружности
  54.    
  55.     Ma = 1/2 * sqrt(2*(c**2+b**2) - a**2) #расчет каждой из медиан треугольника
  56.    
  57.     Mb = 1/2 * sqrt(2*(a**2+c**2) - b**2)
  58.    
  59.     Mc = 1/2 * sqrt(2*(a**2+b**2) - c**2)
  60.    
  61.     M = Ma+Mb+Mc #сумма медиан треугольника
  62.    
  63.     print(round(r, 4), round(R, 4), round(M, 4))
Add Comment
Please, Sign In to add comment