Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. import math
  2.  
  3.  
  4. def triangle_area(data):
  5. if type(data) != list or len(data) != 3:
  6. return "Błąd. Argument musi być listą trzech współrzędnych."
  7.  
  8. for i in data:
  9. if len(i) != 2 or type(i) != list:
  10. return "Błędne współrzędne"
  11. for element in i:
  12. try:
  13. float(element)
  14. except Exception:
  15. return "Współrzędne muszą składać się z liczb."
  16.  
  17. line_check = (data[0][0] * (data[1][1] - data[2][1])
  18. + data[1][0] * (data[2][1] - data[0][1])
  19. + data[2][0] * (data[0][1] - data[1][1]))/2
  20. if line_check == 0:
  21. return "Podane współrzędne tworzą punkty należące do linii prostej. Utworzenie trójkąta niemożliwe"
  22.  
  23. def distance(num1, num2):
  24. return math.hypot(num1[0] - num2[0], num1[1] - num2[1])
  25.  
  26. side_a = distance(data[0], data[1])
  27. side_b = distance(data[1], data[2])
  28. side_c = distance(data[2], data[0])
  29. s = 0.5 * (side_a + side_b + side_c)
  30. result = math.sqrt(s * (s - side_a) * (s - side_b) * (s - side_c))
  31.  
  32. return "Pole trójkąta wynosi " + format(result, '.2f')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement