Advertisement
nher1625

Triangle Sides BEFORE

Apr 4th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 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 triangle_type(a, b, c):
  10.     if (a+b > c) and (b+c > a) and (c+a > b):
  11.         def angle_a(a,b,c):
  12.             x = ( (a**2)-(b**2)-(c**2) )
  13.             y = -2*(b*c)
  14.             z = x/y
  15.             #print(acos(z))
  16.             return round( acos(z) *180/pi )
  17.  
  18.         def angle_b(a,b,c):
  19.             x = ( (b**2)-(a**2)-(c**2) )
  20.             y = -2*(a*c)
  21.             return round( (acos(x/y)*180)/pi )
  22.  
  23.         def angle_c(a,b,c):
  24.             x = ( (c**2)-(a**2)-(b**2) )
  25.             y = -2*(b*a)
  26.             z = x/y
  27.             return round( (acos(x/y)*180)/pi )
  28.  
  29.         anglea, angleb, anglec = angle_a(a,b,c), angle_b(a,b,c), angle_c(a,b,c)
  30.  
  31.         if anglea==90 or angleb==90 or anglec==90:
  32.             print(str(angle_a(a,b,c)) + ' ' + str(angle_b(a,b,c)) + ' ' + str(angle_c(a,b,c)))
  33.             print(2)
  34.             return (2)
  35.         elif anglea<90 and angleb<90 and anglec<90:
  36.             print(str(angle_a(a,b,c)) + ' ' + str(angle_b(a,b,c)) + ' ' + str(angle_c(a,b,c)))
  37.             print(1)
  38.             return (1)
  39.         elif anglea>90 or angleb>90 or anglec>90:
  40.             print(str(angle_a(a,b,c)) + ' ' + str(angle_b(a,b,c)) + ' ' + str(angle_c(a,b,c)))
  41.             print(3)
  42.             return (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