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 dominieq
import math
def is_triangle(d, e, f):
if ((d + e > f) and (d + f > e) and (e + f > d)):
return True
return False
def checkio(a, b, c):
angles = []
if is_triangle(a, b, c):
alfa = math.acos((a*a+b*b-c*c)/(2*a*b))
beta = math.acos((a*a-b*b+c*c)/(2*a*c))
gamma = math.acos((-a*a+b*b+c*c)/(2*b*c))
alfa = round(math.degrees(alfa))
beta = round(math.degrees(beta))
gamma = round(math.degrees(gamma))
angles.append(alfa)
angles.append(beta)
angles.append(gamma)
angles.sort()
return angles
else:
return [0, 0, 0]
#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"
Oct. 22, 2016