Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for The Angles of a Triangle by Lachesis_132296
import math
def isTriangle(a, b, c):
if a + b > c and a + c > b and b + c > a:
return True
else:
return False
def checkio(a, b, c):
if isTriangle(a, b, c) == False:
return [0, 0, 0]
else:
cos_alfa = (-a*a+b*b+c*c)/(2*b*c)
cos_beta = -(b*b - a*a - c*c)/(2*a*c)
cos_gamma = -(c*c - a*a - b*b)/(2*a*b)
alfa_rad = math.acos(cos_alfa)
beta_rad = math.acos(cos_beta)
gamma_rad = math.acos(cos_gamma)
alfa = math.degrees(alfa_rad)
beta = math.degrees(beta_rad)
gamma = math.degrees(gamma_rad)
alfa = round(alfa, 0)
beta = round(beta, 0)
gamma = round(gamma, 0)
t = [alfa, beta, gamma]
t.sort()
return t
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(4, 4, 4) == [60, 60, 60], "All sides are equal"
assert checkio(3, 4, 5) == [37, 53, 90], "Egyptian triangle"
assert checkio(2, 2, 5) == [0, 0, 0], "It's can not be a triangle"
Nov. 20, 2016