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 narumi.kano.3
def checkio(a, b, c):
from math import acos, degrees
angle = lambda l, m, n : round(degrees(acos((l**2 + m**2 - n**2) / (2*l*m))))
chk_l = lambda l, m, n : max(l, m, n) >= l + m + n - max(l, m, n)
return [0, 0, 0] if chk_l(a, b, c) else sorted([angle(a,b,c), angle(b,c,a), angle(c,a,b)])
#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"
May 3, 2015