Advertisement
nher1625

Triangle Sides AFTER

Apr 5th, 2015
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.69 KB | None | 0 0
  1. __author__ = 'Neys'
  2. # Should return triangle type:
  3. #  0 : if triangle cannot be made with given sides
  4. #  1 : acute triangle
  5. #  2 : right triangle
  6. #  3 : obtuse triangle
  7. from math import acos,pi
  8.  
  9. def Side_Angle_1(a,b,c):
  10.     x, y = ( (a**2)-(b**2)-(c**2) ), (-2*(b*c))
  11.     z = x/y
  12.     return round( (acos(z)*180)/pi )
  13.  
  14. def Side_Angle_2(a,b,c):
  15.     x, y = ( (b**2)-(a**2)-(c**2) ), (-2*(a*c))
  16.     z = x/y
  17.     return round( (acos(z)*180)/pi )
  18.  
  19. def Side_Angle_3(a,b,c):
  20.     x, y = ( (c**2)-(b**2)-(a**2) ), (-2*(a*b))
  21.     z = x/y
  22.     return round( (acos(z)*180)/pi )
  23.  
  24. def triangle_type(a, b, c):
  25.     if (a+b > c) and (b+c > a) and (c+a > b): #If is triangle pass else 0
  26.         Angle_A, Angle_B, Angle_C = Side_Angle_1(a,b,c), Side_Angle_2(a,b,c), Side_Angle_3(a,b,c)
  27.         side = [Angle_A, Angle_B, Angle_C]
  28.  
  29.         def conditional_executioner(n): # Iterate through output quicker
  30.             print( "Angle = {0} Degrees || Angle = {1} Degrees || Angle Degrees = {2}".format(side[0], side[1], side[2] ))
  31.             print(n)
  32.             return (n)
  33.  
  34.         check_1, check_2, check_3 = (side[0] == 90 or side[1] == 90 or side[2] == 90), \
  35.                                     (side[0] < 90 and side[1] < 90 and side[2] < 90), \
  36.                                     (side[0] > 90 or side[1] > 90 or side[2] > 90)
  37.         if check_1:
  38.             conditional_executioner(2)
  39.         elif check_2:
  40.            conditional_executioner(1)
  41.         elif check_3:
  42.            conditional_executioner(3)
  43.     else:
  44.         return (0)
  45.  
  46. triangle_type(7,3,2) # Not triangle
  47. triangle_type(2,4,6) # Not triangle
  48. triangle_type(8,5,7) # Acute
  49. triangle_type(3,4,5) # Right
  50. triangle_type(7,12,8) # Obtuse
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement