Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __author__ = 'Neys'
- # Should return triangle type:
- # 0 : if triangle cannot be made with given sides
- # 1 : acute triangle
- # 2 : right triangle
- # 3 : obtuse triangle
- from math import acos,pi
- def Side_Angle_1(a,b,c):
- x, y = ( (a**2)-(b**2)-(c**2) ), (-2*(b*c))
- z = x/y
- return round( (acos(z)*180)/pi )
- def Side_Angle_2(a,b,c):
- x, y = ( (b**2)-(a**2)-(c**2) ), (-2*(a*c))
- z = x/y
- return round( (acos(z)*180)/pi )
- def Side_Angle_3(a,b,c):
- x, y = ( (c**2)-(b**2)-(a**2) ), (-2*(a*b))
- z = x/y
- return round( (acos(z)*180)/pi )
- def triangle_type(a, b, c):
- if (a+b > c) and (b+c > a) and (c+a > b): #If is triangle pass else 0
- Angle_A, Angle_B, Angle_C = Side_Angle_1(a,b,c), Side_Angle_2(a,b,c), Side_Angle_3(a,b,c)
- side = [Angle_A, Angle_B, Angle_C]
- def conditional_executioner(n): # Iterate through output quicker
- print( "Angle = {0} Degrees || Angle = {1} Degrees || Angle Degrees = {2}".format(side[0], side[1], side[2] ))
- print(n)
- return (n)
- check_1, check_2, check_3 = (side[0] == 90 or side[1] == 90 or side[2] == 90), \
- (side[0] < 90 and side[1] < 90 and side[2] < 90), \
- (side[0] > 90 or side[1] > 90 or side[2] > 90)
- if check_1:
- conditional_executioner(2)
- elif check_2:
- conditional_executioner(1)
- elif check_3:
- conditional_executioner(3)
- else:
- return (0)
- triangle_type(7,3,2) # Not triangle
- triangle_type(2,4,6) # Not triangle
- triangle_type(8,5,7) # Acute
- triangle_type(3,4,5) # Right
- triangle_type(7,12,8) # Obtuse
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement